Compare commits

...
Author SHA1 Message Date
JacobLotz 2d82abab86 Merge branch 'master' into fix-nurbs-edge-map 2024-02-09 13:29:09 +01:00
JacobLotz e9e0cd9544 Merge branch 'master' into fix-nurbs-edge-map 2024-02-09 09:53:39 +01:00
Jacob Lotz 10397fab6a add some doc 2023-09-01 15:16:17 +02:00
Jacob Lotz 12d93a05f9 more elegant solution 2023-09-01 15:13:53 +02:00
Jacob Lotz 7c750dc503 First solution, could be more elegant. 2023-09-01 14:49:21 +02:00
+7 -7
View File
@@ -5912,17 +5912,17 @@ void Mesh::LoadPatchTopo(std::istream &input, Array<int> &edge_to_knot)
v1 = edge_to_knot[e1];
df = flip*oedge[edge0[j]]*oedge[edge1[j]];
// Case 1: knot vector is not set
// Knot vector is not set: set 1, let it figure out the other one
if ((v0 == notset) && (v1 == notset))
{
edge_to_knot[e0] = knot;
edge_to_knot[e1] = knot;
edge_to_knot[e0] = (oedge[edge0[j]] >= 0 ? knot : -knot-1);
v0 = edge_to_knot[e0];
knot++;
}
// Case 2 & 3: knot vector on one of the two edges
// is set earlier (in another patch). We just have
// to copy it for the opposing edge.
else if ((v0 != notset) && (v1 == notset))
// Knot vector on one of the two edges is set earlier. We just have
// to copy it with the right orientation for the opposing edge.
if ((v0 != notset) && (v1 == notset))
{
edge_to_knot[e1] = (df >= 0 ? -v0-1 : v0);
}