Work towards v1.0 data model with encapsulated weak_ptr as basis for instances

This commit is contained in:
Thomas Krijnen
2026-01-04 10:40:02 +01:00
parent f09ca658f1
commit 7098beb819
210 changed files with 28269 additions and 26471 deletions
@@ -113,8 +113,8 @@ bool OpenCascadeKernel::convert(const taxonomy::sweep_along_curve::ptr scs, Topo
applied_temporary_offset = true;
std::set<taxonomy::point3::ptr> unique_points;
for (auto& e : std::dynamic_pointer_cast<taxonomy::loop>(curve)->children) {
auto* a = boost::get<taxonomy::point3::ptr>(&e->start);
auto* b = boost::get<taxonomy::point3::ptr>(&e->end);
auto* a = std::get_if<taxonomy::point3::ptr>(&e->start);
auto* b = std::get_if<taxonomy::point3::ptr>(&e->end);
if (a) {
unique_points.insert(*a);
}
@@ -129,7 +129,7 @@ bool OpenCascadeKernel::convert(const taxonomy::sweep_along_curve::ptr scs, Topo
}
auto w = convert_curve(scs->curve);
if (w.which() != 2) {
if (w.index() != 2) {
Logger::Error("Unsupported directrix");
return false;
}
@@ -158,7 +158,7 @@ bool OpenCascadeKernel::convert(const taxonomy::sweep_along_curve::ptr scs, Topo
}
gp_Trsf directrix;
TopoDS_Wire wire = boost::get<TopoDS_Wire>(w);
TopoDS_Wire wire = std::get<TopoDS_Wire>(w);
const bool is_plane = surface && surface->DynamicType() == STANDARD_TYPE(Geom_Plane);
@@ -346,7 +346,7 @@ bool OpenCascadeKernel::convert_impl(const taxonomy::sweep_along_curve::ptr scs,
m = scs->matrix;
}
results.emplace_back(ConversionResult(
scs->instance->as<IfcUtil::IfcBaseEntity>()->id(),
scs->instance.id(),
m,
new OpenCascadeShape(shape),
scs->surface_style