Feature : Handle every IfcSlabTypeEnum (3 were missing) and sort the floors by elevation

This commit is contained in:
Balleux Benjamin
2017-05-09 15:55:37 +02:00
parent 3c2fbcc4e1
commit ef0e9d9eb4
+24 -14
View File
@@ -373,20 +373,30 @@ void ColladaSerializer::ColladaExporter::write(const IfcGeom::TriangulationEleme
std::string ColladaSerializer::ColladaExporter::differentiateSlabTypes(const IfcGeom::TriangulationElement<real_t>* o) { std::string ColladaSerializer::ColladaExporter::differentiateSlabTypes(const IfcGeom::TriangulationElement<real_t>* o) {
IfcSlab* slab = (IfcSlab*)o->product(); IfcSlab* slab = (IfcSlab*)o->product();
switch (slab->PredefinedType()){ switch (slab->PredefinedType())
case (IfcSlabTypeEnum::IfcSlabType_ROOF): {
return "_Roof"; case (IfcSlabTypeEnum::IfcSlabType_FLOOR):
break; return "_Floor";
case (IfcSlabTypeEnum::IfcSlabType_LANDING): break;
return "_Landing"; case (IfcSlabTypeEnum::IfcSlabType_ROOF):
break; return "_Roof";
case (IfcSlabTypeEnum::IfcSlabType_BASESLAB): break;
return "_BasesLab"; case (IfcSlabTypeEnum::IfcSlabType_LANDING):
break; return "_Landing";
default: break;
return "_Unknown"; case (IfcSlabTypeEnum::IfcSlabType_BASESLAB):
break; return "_BaseSlab";
} break;
case (IfcSlabTypeEnum::IfcSlabType_USERDEFINED):
return "_" + slab->ObjectType();
break;
case (IfcSlabTypeEnum::IfcSlabType_NOTDEFINED):
return "_NotDefined";
break;
default:
return "_Unknown";
break;
}
} }
void ColladaSerializer::ColladaExporter::endDocument() { void ColladaSerializer::ColladaExporter::endDocument() {