29 static void markPointNbrs
45 okToCollapse[pFaces[i]] =
false;
59 label newTriangleI = 0;
65 label newA = pointMap[f[0]];
66 label newB = pointMap[f[1]];
67 label newC = pointMap[f[2]];
69 if ((newA != newB) && (newA != newC) && (newB != newC))
71 newTriangles[newTriangleI++] =
75 newTriangles.
setSize(newTriangleI);
84 label nTotalCollapsed = 0;
104 label nCollapsed = 0;
108 if (okToCollapse[faceI])
116 label
v1 = f[(fp+1) % 3];
118 if (
mag(localPoints[v1] - localPoints[v]) < minLen)
122 newPoints[v] = 0.5*(localPoints[
v1] + localPoints[v]);
124 Pout<<
"Collapsing triange " << faceI <<
" to edge mid "
125 << newPoints[v] <<
endl;
128 okToCollapse[faceI] =
false;
131 markPointNbrs(surf, faceI,
false, okToCollapse);
139 Pout<<
"collapseEdge : collapsing " << nCollapsed <<
" triangles"
142 nTotalCollapsed += nCollapsed;
150 surf = pack(surf, newPoints, pointMap);
156 return nTotalCollapsed;