- if (points[0].equals(points[1])) continue;
- if (points[0].equals(points[2])) continue;
- if (points[1].equals(points[2])) continue;
- mesh.newT(points[0], points[1], points[2], norm.norm(), 1);
+
+ // Eliminate triangles with "length-zero" sides.
+ // Unfortunately this puts holes in the mesh.
+ if (points[0].equals(points[1]) ||
+ points[0].equals(points[2]) ||
+ points[1].equals(points[2]))
+ continue;
+
+ mesh.newT(points[0], points[1], points[2], norm.norm().times(-1));