46 template<
class>
class FaceList,
56 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
57 <<
"calcAddressing() : calculating patch addressing"
61 if (edgesPtr_ || faceFacesPtr_ || edgeFacesPtr_ || faceEdgesPtr_)
66 <<
"addressing already calculated"
80 maxEdges += locFcs[faceI].
size();
105 faceIntoEdges[faceI] = locFcs[faceI].edges();
107 labelList& curFaceEdges = faceEdges[faceI];
108 curFaceEdges.
setSize(faceIntoEdges[faceI].size());
110 forAll(curFaceEdges, faceEdgeI)
112 curFaceEdges[faceEdgeI] = -1;
131 const Face& curF = locFcs[faceI];
132 const edgeList& curEdges = faceIntoEdges[faceI];
138 label nNeighbours = 0;
144 if (faceEdges[faceI][edgeI] >= 0)
continue;
149 const edge&
e = curEdges[edgeI];
155 forAll(nbrFaces, nbrFaceI)
158 label curNei = nbrFaces[nbrFaceI];
164 const edgeList& searchEdges = faceIntoEdges[curNei];
166 forAll(searchEdges, neiEdgeI)
168 if (searchEdges[neiEdgeI] ==
e)
173 neiFaces[edgeI].append(curNei);
174 edgeOfNeiFace[edgeI].append(neiEdgeI);
177 ff[faceI].append(curNei);
178 ff[curNei].append(faceI);
198 for (
label neiSearch = 0; neiSearch < nNeighbours; neiSearch++)
206 if (neiFaces[nfI].size() && neiFaces[nfI][0] < minNei)
209 minNei = neiFaces[nfI][0];
216 edges[nEdges] = curEdges[nextNei];
219 faceEdges[faceI][nextNei] = nEdges;
221 DynamicList<label>& cnf = neiFaces[nextNei];
222 DynamicList<label>& eonf = edgeOfNeiFace[nextNei];
231 faceEdges[cnf[cnfI]][eonf[cnfI]] = nEdges;
233 curEf[cnfI + 1] = cnf[cnfI];
246 <<
"Error in internal edge insertion"
252 nInternalEdges_ = nEdges;
262 if (curEdges[edgeI] < 0)
265 edges[nEdges] = faceIntoEdges[faceI][edgeI];
266 curEdges[edgeI] = nEdges;
279 edges.setSize(nEdges);
282 edgeFaces.setSize(nEdges);
290 faceFaces[faceI].transfer(
ff[faceI]);
296 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
297 <<
"calcAddressing() : finished calculating patch addressing"