mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 21:42:19 +00:00
IfcFaceBasedSurfaceModel
This commit is contained in:
@@ -35,6 +35,7 @@ SHAPES(IfcRepresentation);
|
|||||||
// IfcAdvancedBrepWithVoids included
|
// IfcAdvancedBrepWithVoids included
|
||||||
SHAPES(IfcManifoldSolidBrep);
|
SHAPES(IfcManifoldSolidBrep);
|
||||||
SHAPES(IfcMappedItem);
|
SHAPES(IfcMappedItem);
|
||||||
|
SHAPES(IfcFaceBasedSurfaceModel);
|
||||||
|
|
||||||
SHAPE(IfcExtrudedAreaSolid);
|
SHAPE(IfcExtrudedAreaSolid);
|
||||||
SHAPE(IfcConnectedFaceSet);
|
SHAPE(IfcConnectedFaceSet);
|
||||||
|
|||||||
@@ -84,6 +84,21 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcMappedItem* l, ConversionR
|
|||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcFaceBasedSurfaceModel* l, ConversionResults& shapes) {
|
||||||
|
bool part_success = false;
|
||||||
|
IfcSchema::IfcConnectedFaceSet::list::ptr facesets = l->FbsmFaces();
|
||||||
|
const SurfaceStyle* collective_style = get_style(l);
|
||||||
|
for( IfcSchema::IfcConnectedFaceSet::list::it it = facesets->begin(); it != facesets->end(); ++ it ) {
|
||||||
|
cgal_shape_t s;
|
||||||
|
const SurfaceStyle* shell_style = get_style(*it);
|
||||||
|
if (convert_shape(*it,s)) {
|
||||||
|
shapes.push_back(ConversionResult(new CgalShape(s), shell_style ? shell_style : collective_style));
|
||||||
|
part_success |= true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return part_success;
|
||||||
|
}
|
||||||
|
|
||||||
bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcExtrudedAreaSolid *l, cgal_shape_t &shape) {
|
bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcExtrudedAreaSolid *l, cgal_shape_t &shape) {
|
||||||
const double height = l->Depth() * getValue(GV_LENGTH_UNIT);
|
const double height = l->Depth() * getValue(GV_LENGTH_UNIT);
|
||||||
if (height < getValue(GV_PRECISION)) {
|
if (height < getValue(GV_PRECISION)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user