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:
Thomas Krijnen
2024-06-24 21:56:27 +02:00
parent 278524ee3e
commit 8da68f599b
9 changed files with 189 additions and 111 deletions
+4 -1
View File
@@ -650,7 +650,7 @@ bool CgalKernel::convert(const taxonomy::loop::ptr loop, cgal_wire_t& result) {
std::vector<taxonomy::point3> edge;
if (e->basis) {
convert_curve(settings_, e, edge);
if (!e->orientation_2.get_value_or(true)) {
if (!e->curve_sense.get_value_or(true)) {
std::reverse(edge.begin(), edge.end());
}
} else {
@@ -659,6 +659,9 @@ bool CgalKernel::convert(const taxonomy::loop::ptr loop, cgal_wire_t& result) {
*boost::get<taxonomy::point3::ptr>(e->end)
};
}
if (!e->orientation.get_value_or(true)) {
std::reverse(edge.begin(), edge.end());
}
extend_wire(points, edge);
}