mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 14:33:28 +00:00
Move print() to header, distinguish properly between curve_sense and edge orientation, unwrap trimmed curves as edge bases, don't mutated cached edge in oriented edge processing, etc. #4895
This commit is contained in:
@@ -45,7 +45,7 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcCompositeCurve* inst) {
|
||||
e->basis = map(segment->as<IfcSchema::IfcCompositeCurveSegment>()->ParentCurve());
|
||||
e->start = u0;
|
||||
e->end = u1;
|
||||
e->orientation_2.reset(segment->as<IfcSchema::IfcCompositeCurveSegment>()->SameSense());
|
||||
e->curve_sense.reset(segment->as<IfcSchema::IfcCompositeCurveSegment>()->SameSense());
|
||||
|
||||
loop->children.push_back(e);
|
||||
}
|
||||
@@ -54,7 +54,7 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcCompositeCurve* inst) {
|
||||
if (crv) {
|
||||
if (crv->kind() == taxonomy::EDGE) {
|
||||
auto ecrv = taxonomy::cast<taxonomy::edge>(crv);
|
||||
ecrv->orientation_2.reset(segment->as<IfcSchema::IfcCompositeCurveSegment>()->SameSense());
|
||||
ecrv->curve_sense.reset(segment->as<IfcSchema::IfcCompositeCurveSegment>()->SameSense());
|
||||
loop->children.push_back(ecrv);
|
||||
}
|
||||
else if (crv->kind() == taxonomy::LOOP) {
|
||||
|
||||
@@ -41,7 +41,7 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcEdge* inst) {
|
||||
|
||||
if (inst->as<IfcSchema::IfcEdgeCurve>()) {
|
||||
e->basis = map(inst->as<IfcSchema::IfcEdgeCurve>()->EdgeGeometry());
|
||||
e->orientation = inst->as<IfcSchema::IfcEdgeCurve>()->SameSense();
|
||||
e->curve_sense = inst->as<IfcSchema::IfcEdgeCurve>()->SameSense();
|
||||
}
|
||||
|
||||
return e;
|
||||
|
||||
@@ -23,6 +23,7 @@ using namespace ifcopenshell::geometry;
|
||||
|
||||
taxonomy::ptr mapping::map_impl(const IfcSchema::IfcOrientedEdge* inst) {
|
||||
auto e = taxonomy::cast<taxonomy::edge>(map(inst->EdgeElement()));
|
||||
e.reset(e->clone_());
|
||||
if (!inst->Orientation()) {
|
||||
e->reverse();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user