- IfcGeom: Major performance improvement by only sewing faces of IfcConnectedFaceSets when needed for boolean operations

- Automatic tests for several well known IFC files on the Internet
- IfcBlender: Make visibility in render consistent with 3d view
- Some compatibility for Ifc2x files with IfcShapeRepresentations and RepresentationIdentifier 'IAI'
This commit is contained in:
Thomas Krijnen
2012-03-01 21:17:06 +00:00
parent a9a5f8dc69
commit 2b27b86b34
7 changed files with 395 additions and 12 deletions
+9 -4
View File
@@ -299,10 +299,15 @@ IfcGeomObjects::IfcGeomObject* _get() {
// Has the list of IfcProducts for this representation been initialized?
if ( ! entities ) {
if ( shaperep->RepresentationIdentifier() != "Body" &&
shaperep->RepresentationIdentifier() != "Facetation" ) {
_nextShape();
continue;
if ( shaperep->hasRepresentationIdentifier() ) {
const std::string representation_identifier = shaperep->RepresentationIdentifier();
if ( shaperep->hasRepresentationType() && representation_identifier == "IAI" && shaperep->RepresentationType() != "BoundingBox" ) {
// Allow for Ifc 2x compatibility
} else if ( representation_identifier != "Body" &&
representation_identifier != "Facetation" ) {
_nextShape();
continue;
}
}
Ifc2x3::IfcProductRepresentation::list prodreps = shaperep->OfProductRepresentation();
entities = Ifc2x3::IfcProduct::list( new IfcTemplatedEntityList<Ifc2x3::IfcProduct>() );