mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 22:50:21 +00:00
IfcDerivedProfileDef
This commit is contained in:
@@ -84,7 +84,7 @@ FACE(IfcCircleProfileDef);
|
|||||||
FACE(IfcEllipseProfileDef);
|
FACE(IfcEllipseProfileDef);
|
||||||
//FACE(IfcCenterLineProfileDef);
|
//FACE(IfcCenterLineProfileDef);
|
||||||
//FACE(IfcCompositeProfileDef);
|
//FACE(IfcCompositeProfileDef);
|
||||||
//FACE(IfcDerivedProfileDef);
|
FACE(IfcDerivedProfileDef);
|
||||||
// IfcFaceSurface included
|
// IfcFaceSurface included
|
||||||
// IfcAdvancedFace included in case of IFC4
|
// IfcAdvancedFace included in case of IFC4
|
||||||
FACE(IfcFace);
|
FACE(IfcFace);
|
||||||
|
|||||||
@@ -971,3 +971,18 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcZShapeProfileDef* l, cgal_
|
|||||||
|
|
||||||
return true;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user