mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Implement edge as top-level representation item #4924
This commit is contained in:
@@ -136,6 +136,7 @@ public:
|
||||
bool convert(const ifcopenshell::geometry::taxonomy::loft::ptr, TopoDS_Shape&);
|
||||
bool convert(const ifcopenshell::geometry::taxonomy::bspline_surface::ptr bs, Handle(Geom_Surface) surf);
|
||||
|
||||
virtual bool convert_impl(const ifcopenshell::geometry::taxonomy::edge::ptr, IfcGeom::ConversionResults&);
|
||||
virtual bool convert_impl(const ifcopenshell::geometry::taxonomy::loop::ptr, IfcGeom::ConversionResults&);
|
||||
virtual bool convert_impl(const ifcopenshell::geometry::taxonomy::face::ptr, IfcGeom::ConversionResults&);
|
||||
virtual bool convert_impl(const ifcopenshell::geometry::taxonomy::solid::ptr, IfcGeom::ConversionResults&);
|
||||
|
||||
@@ -365,3 +365,16 @@ bool OpenCascadeKernel::convert_impl(const taxonomy::loop::ptr loop, IfcGeom::Co
|
||||
));
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OpenCascadeKernel::convert_impl(const taxonomy::edge::ptr edge, IfcGeom::ConversionResults& results) {
|
||||
edge->print(std::cout);
|
||||
|
||||
TopoDS_Wire shape = boost::get<TopoDS_Wire>(convert_curve(this, edge));
|
||||
|
||||
results.emplace_back(ConversionResult(
|
||||
edge->instance->data().id(),
|
||||
new OpenCascadeShape(shape),
|
||||
edge->surface_style
|
||||
));
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user