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) {
IfcSlab* slab = (IfcSlab*)o->product();
switch (slab->PredefinedType()){
case (IfcSlabTypeEnum::IfcSlabType_ROOF):
return "_Roof";
break;
case (IfcSlabTypeEnum::IfcSlabType_LANDING):
return "_Landing";
break;
case (IfcSlabTypeEnum::IfcSlabType_BASESLAB):
return "_BasesLab";
break;
default:
return "_Unknown";
break;
}
switch (slab->PredefinedType())
{
case (IfcSlabTypeEnum::IfcSlabType_FLOOR):
return "_Floor";
break;
case (IfcSlabTypeEnum::IfcSlabType_ROOF):
return "_Roof";
break;
case (IfcSlabTypeEnum::IfcSlabType_LANDING):
return "_Landing";
break;
case (IfcSlabTypeEnum::IfcSlabType_BASESLAB):
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() {