IfcDerivedProfileDef

This commit is contained in:
Ken Arroyo Ohori
2017-03-23 20:25:54 -06:00
parent dd206a2a52
commit f8f4db72ec
2 changed files with 16 additions and 1 deletions
+1 -1
View File
@@ -84,7 +84,7 @@ FACE(IfcCircleProfileDef);
FACE(IfcEllipseProfileDef);
//FACE(IfcCenterLineProfileDef);
//FACE(IfcCompositeProfileDef);
//FACE(IfcDerivedProfileDef);
FACE(IfcDerivedProfileDef);
// IfcFaceSurface included
// IfcAdvancedFace included in case of IFC4
FACE(IfcFace);
@@ -971,3 +971,18 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcZShapeProfileDef* l, cgal_
return true;
}
bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcDerivedProfileDef* l, cgal_face_t& face) {
cgal_face_t f;
cgal_placement_t trsf2d;
if (convert_face(l->ParentProfile(), f) && IfcGeom::CgalKernel::convert(l->Operator(), trsf2d)) {
cgal_placement_t trsf = trsf2d;
for (auto &vertex: f.outer) vertex = vertex.transform(trsf);
for (auto &ring: f.inner) {
for (auto &vertex: ring) vertex = vertex.transform(trsf);
} face = f;
return true;
} else {
return false;
}
}