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
+12 -2
View File
@@ -373,7 +373,11 @@ 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_FLOOR):
return "_Floor";
break;
case (IfcSlabTypeEnum::IfcSlabType_ROOF): case (IfcSlabTypeEnum::IfcSlabType_ROOF):
return "_Roof"; return "_Roof";
break; break;
@@ -381,7 +385,13 @@ std::string ColladaSerializer::ColladaExporter::differentiateSlabTypes(const Ifc
return "_Landing"; return "_Landing";
break; break;
case (IfcSlabTypeEnum::IfcSlabType_BASESLAB): case (IfcSlabTypeEnum::IfcSlabType_BASESLAB):
return "_BasesLab"; return "_BaseSlab";
break;
case (IfcSlabTypeEnum::IfcSlabType_USERDEFINED):
return "_" + slab->ObjectType();
break;
case (IfcSlabTypeEnum::IfcSlabType_NOTDEFINED):
return "_NotDefined";
break; break;
default: default:
return "_Unknown"; return "_Unknown";