35 bool Foam::triSurface::stitchTriangles
51 Pout<<
"stitchTriangles : Merged from " << pointMap.size()
52 <<
" points down to " << ps.size() <<
endl;
56 label newTriangleI = 0;
74 Pout<<
"stitchTriangles : " 75 <<
"Removing triangle " << i
76 <<
" with non-unique vertices." <<
nl 77 <<
" vertices :" << newTri <<
nl 78 <<
" coordinates:" << newTri.points(ps)
83 if (newTriangleI !=
size())
87 Pout<<
"stitchTriangles : " 88 <<
"Removed " <<
size() - newTriangleI
89 <<
" triangles" <<
endl;
98 bitSet pointIsUsed(ps.size());
102 for (
const labelledTri&
f : *
this)
104 for (
const label pointi :
f)
106 if (pointIsUsed.set(pointi))
116 pointMap.setSize(ps.size());
118 forAll(pointIsUsed, pointi)
120 if (pointIsUsed[pointi])
129 for (
const labelledTri&
f : *
this)
143 return bool(nChanged);
label nPoints() const
Number of points supporting patch faces.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
#define forAll(list, i)
Loop across all elements in list.
T & operator[](const label i)
Return element of UList.
vectorField pointField
pointField is a vectorField.
void setSize(const label n)
Alias for resize()
label inplaceMergePoints(PointList &points, const scalar mergeTol, const bool verbose, labelList &pointToUnique)
Inplace merge points, preserving the original point order. All points closer/equal mergeTol are to be...
pointField & storedPoints()
Non-const access to global points.
label size() const noexcept
The number of elements in the container.
Geometric merging of points. See below.
List< label > labelList
A List of labels.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.