37 template<
class FaceList,
class Po
intField>
46 Pout<<
"PrimitivePatch<FaceList, PointField>::"
47 <<
"calcLocalPointOrder() : "
48 <<
"calculating local point order"
52 if (localPointOrderPtr_)
56 <<
"local point order already calculated"
60 const List<face_type>& lf = localFaces();
64 boolList visitedFace(lf.size(),
false);
66 localPointOrderPtr_.reset(
new labelList(meshPoints().size(), -1));
67 auto& pointOrder = *localPointOrderPtr_;
69 boolList visitedPoint(pointOrder.size(),
false);
75 if (!visitedFace[facei])
77 SLList<label> faceOrder(facei);
81 const label curFace = faceOrder.first();
83 faceOrder.removeHead();
85 if (!visitedFace[curFace])
87 visitedFace[curFace] =
true;
94 if (!visitedPoint[curPoints[pointi]])
96 visitedPoint[curPoints[pointi]] =
true;
98 pointOrder[
nPoints] = curPoints[pointi];
109 if (!visitedFace[nbrs[nbrI]])
111 faceOrder.append(nbrs[nbrI]);
115 }
while (faceOrder.size());
121 Pout<<
"PrimitivePatch<FaceList, PointField>::"
122 <<
"calcLocalPointOrder() "
123 <<
"finished calculating local point order"