37 template<
class>
class FaceList,
51 Pout<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
52 <<
"calcLocalPointOrder() : "
53 <<
"calculating local point order"
57 if (localPointOrderPtr_)
63 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
64 "calcLocalPointOrder()"
65 ) <<
"local point order already calculated"
69 const List<Face>& lf = localFaces();
73 boolList visitedFace(lf.size(),
false);
75 localPointOrderPtr_ =
new labelList(meshPoints().size(), -1);
77 labelList& pointOrder = *localPointOrderPtr_;
79 boolList visitedPoint(pointOrder.size(),
false);
85 if (!visitedFace[faceI])
87 SLList<label> faceOrder(faceI);
91 const label curFace = faceOrder.first();
93 faceOrder.removeHead();
95 if (!visitedFace[curFace])
97 visitedFace[curFace] =
true;
102 forAll (curPoints, pointI)
104 if (!visitedPoint[curPoints[pointI]])
106 visitedPoint[curPoints[pointI]] =
true;
108 pointOrder[
nPoints] = curPoints[pointI];
119 if (!visitedFace[nbrs[nbrI]])
121 faceOrder.append(nbrs[nbrI]);
125 }
while (faceOrder.size());
131 Pout<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
132 <<
"calcLocalPointOrder() "
133 <<
"finished calculating local point order"