34 bool Foam::triSurface::stitchTriangles
45 bool hasMerged =
mergePoints(ps, tol, verbose, pointMap, newPoints);
51 Pout<<
"stitchTriangles : Merged from " << ps.size()
52 <<
" points down to " << newPoints.size() <<
endl;
56 ps.transfer(newPoints);
59 label newTriangleI = 0;
62 const labelledTri& tri = operator[](i);
73 (newTri[0] != newTri[1])
74 && (newTri[0] != newTri[2])
75 && (newTri[1] != newTri[2])
78 operator[](newTriangleI++) = newTri;
82 Pout<<
"stitchTriangles : "
83 <<
"Removing triangle " << i
84 <<
" with non-unique vertices." <<
nl
85 <<
" vertices :" << newTri <<
nl
86 <<
" coordinates:" << newTri.points(ps)
91 if (newTriangleI != size())
95 Pout<<
"stitchTriangles : "
96 <<
"Removed " << size() - newTriangleI
97 <<
" triangles" <<
endl;
106 bitSet pointIsUsed(ps.size());
110 for (
const labelledTri&
f : *
this)
112 for (
const label pointi :
f)
114 if (pointIsUsed.set(pointi))
124 pointMap.setSize(ps.size());
126 forAll(pointIsUsed, pointi)
128 if (pointIsUsed[pointi])
137 for (
const labelledTri&
f : *
this)
139 operator[](newTriangleI++) = labelledTri