46 template<
class>
class FaceList,
56 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
57 <<
"calcAddressing() : calculating patch addressing"
61 if (edgesPtr_ || faceFacesPtr_ || edgeFacesPtr_ || faceEdgesPtr_)
67 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
69 ) <<
"addressing already calculated"
73 if (this->size() == 0)
96 maxEdges += locFcs[faceI].
size();
121 faceIntoEdges[faceI] = locFcs[faceI].edges();
123 labelList& curFaceEdges = faceEdges[faceI];
124 curFaceEdges.
setSize(faceIntoEdges[faceI].size());
126 forAll (curFaceEdges, faceEdgeI)
128 curFaceEdges[faceEdgeI] = -1;
147 const Face& curF = locFcs[faceI];
148 const edgeList& curEdges = faceIntoEdges[faceI];
154 label nNeighbours = 0;
160 if (faceEdges[faceI][edgeI] >= 0)
continue;
165 const edge&
e = curEdges[edgeI];
171 forAll (nbrFaces, nbrFaceI)
174 label curNei = nbrFaces[nbrFaceI];
180 const edgeList& searchEdges = faceIntoEdges[curNei];
182 forAll (searchEdges, neiEdgeI)
184 if (searchEdges[neiEdgeI] ==
e)
189 neiFaces[edgeI].
append(curNei);
190 edgeOfNeiFace[edgeI].
append(neiEdgeI);
193 ff[faceI].append(curNei);
194 ff[curNei].append(faceI);
214 for (
label neiSearch = 0; neiSearch < nNeighbours; neiSearch++)
222 if (neiFaces[nfI].size() && neiFaces[nfI][0] < minNei)
225 minNei = neiFaces[nfI][0];
232 edges[nEdges] = curEdges[nextNei];
235 faceEdges[faceI][nextNei] = nEdges;
237 dynamicLabelList& cnf = neiFaces[nextNei];
238 dynamicLabelList& eonf = edgeOfNeiFace[nextNei];
247 faceEdges[cnf[cnfI]][eonf[cnfI]] = nEdges;
249 curEf[cnfI + 1] = cnf[cnfI];
263 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
265 ) <<
"Error in internal edge insertion"
271 nInternalEdges_ = nEdges;
281 if (curEdges[edgeI] < 0)
284 edges[nEdges] = faceIntoEdges[faceI][edgeI];
285 curEdges[edgeI] = nEdges;
315 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
316 <<
"calcAddressing() : finished calculating patch addressing"