mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
mark bounds as external based on entity type
This commit is contained in:
@@ -112,7 +112,7 @@ namespace kernels {
|
|||||||
bool convert(const taxonomy::shell* l, cgal_shape_t& shape);
|
bool convert(const taxonomy::shell* l, cgal_shape_t& shape);
|
||||||
|
|
||||||
virtual bool convert_impl(const taxonomy::shell*, ifcopenshell::geometry::ConversionResults&);
|
virtual bool convert_impl(const taxonomy::shell*, ifcopenshell::geometry::ConversionResults&);
|
||||||
virtual bool convert_impl(const taxonomy::extrusion*, ifcopenshell::geometry::ConversionResults&);
|
// virtual bool convert_impl(const taxonomy::extrusion*, ifcopenshell::geometry::ConversionResults&);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,6 +176,13 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcFace* inst) {
|
|||||||
if (!bound->Orientation()) {
|
if (!bound->Orientation()) {
|
||||||
r->reverse();
|
r->reverse();
|
||||||
}
|
}
|
||||||
|
if (bound->declaration().is(IfcSchema::IfcFaceOuterBound::Class())) {
|
||||||
|
// Make a copy in case we need immutability later for e.g. caching
|
||||||
|
auto s = r->clone();
|
||||||
|
((taxonomy::loop*)s)->external = true;
|
||||||
|
delete r;
|
||||||
|
r = s;
|
||||||
|
}
|
||||||
face->children.push_back(r);
|
face->children.push_back(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ namespace ifcopenshell { namespace geometry {
|
|||||||
|
|
||||||
task_iterator_ = tasks_.begin();
|
task_iterator_ = tasks_.begin();
|
||||||
|
|
||||||
|
task_result_index_ = 0;
|
||||||
done = 0;
|
done = 0;
|
||||||
total = tasks_.size();
|
total = tasks_.size();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user