39 template<
class>
class FaceList,
49 const label startFaceI,
50 const label startEdgeI,
54 label index =
findIndex(pFaces, startFaceI);
56 if (!pFacesHad[index])
59 pFacesHad[index] =
true;
62 const labelList& fEdges = faceEdges()[startFaceI];
68 label edgeI = fEdges[i];
70 const edge&
e = edges()[edgeI];
72 if (edgeI != startEdgeI && (e[0] == pointI || e[1] == pointI))
84 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
86 ) <<
"Problem: cannot find edge out of " << fEdges
87 <<
"on face " << startFaceI <<
" that uses point " << pointI
92 const labelList& eFaces = edgeFaces()[nextEdgeI];
96 if (eFaces[i] != startFaceI)
117 template<
class>
class FaceList,
127 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
129 "calculating patch topology"
139 label nNbrs = edgeFcs[edgeI].
size();
141 if (nNbrs < 1 || nNbrs > 2)
157 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
159 "finished calculating patch topology"
170 template<
class>
class FaceList,
184 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
185 "checkTopology(const bool, labelHashSet&) : "
186 "checking patch topology"
198 label nNbrs = edgeFcs[edgeI].
size();
200 if (nNbrs < 1 || nNbrs > 2)
202 surfaceType = ILLEGAL;
206 Info<<
"Edge " << edgeI <<
" with vertices:" << edges()[edgeI]
207 <<
" has " << nNbrs <<
" face neighbours"
213 const edge& e = edges()[edgeI];
227 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
228 "checkTopology(const bool, labelHashSet&) : "
229 "finished checking patch topology"
233 return surfaceType == ILLEGAL;
240 template<
class>
class FaceList,
257 bool foundError =
false;
268 label startEdgeI = pEdges[0];
270 const labelList& eFaces = ef[startEdgeI];
276 this->visitPointRegion
289 label unset =
findIndex(pFacesHad,
false);
295 label meshPointI = mp[pointI];
299 setPtr->
insert(meshPointI);
304 Info<<
"Point " << meshPointI
305 <<
" uses faces which are not connected through an edge"
307 <<
"This means that the surface formed by this patched"
308 <<
" is multiply connected at this point" <<
nl
309 <<
"Connected (patch) faces:" <<
nl;
319 Info<< nl <<
"Unconnected (patch) faces:" <<
nl;