33 template<
class>
class FaceList,
46 bool foundError =
false;
54 if (edgeLabels.
size() < 3)
58 Info<<
"Face[" << faceI <<
"] " << p[faceI]
59 <<
" has fewer than 3 edges. Edges: " << edgeLabels
68 if (edgeLabels[i] < 0 || edgeLabels[i] >= p.
nEdges())
72 Info<<
"edge number " << edgeLabels[i]
73 <<
" on face " << faceI
75 <<
"This usually means the input surface has "
76 <<
"edges with more than 2 faces connected."
94 const Face&
f = p[faceI];
99 const vector pointNormal((p1 - p0) ^ (p2 - p0));
107 <<
"Normal calculated from points inconsistent"
108 <<
" with faceNormal" <<
nl
109 <<
"face: " << f <<
nl
110 <<
"points: " << p0 <<
' ' << p1 <<
' ' << p2 <<
nl
111 <<
"pointNormal:" << pointNormal <<
nl
123 if (neighbouringFaces.
size() == 2)
127 const Face& faceA = p.
localFaces()[neighbouringFaces[0]];
128 const Face& faceB = p.
localFaces()[neighbouringFaces[1]];
132 if (faceA.edgeDirection(e) == faceB.edgeDirection(e))
136 Info<<
"face orientation incorrect." <<
nl
137 <<
"localEdge[" << edgeI <<
"] " << e
138 <<
" between faces:" <<
nl
139 <<
" face[" << neighbouringFaces[0] <<
"] "
140 << p[neighbouringFaces[0]]
141 <<
" localFace: " << faceA
143 <<
" face[" << neighbouringFaces[1] <<
"] "
144 << p[neighbouringFaces[1]]
145 <<
" localFace: " << faceB
156 else if (neighbouringFaces.
size() != 1)
161 <<
"Wrong number of edge neighbours." <<
nl
162 <<
"edge[" << edgeI <<
"] " << e
165 <<
" has neighbouringFaces:" << neighbouringFaces <<
endl;