Go to the documentation of this file.
38 template<
class>
class FaceList,
48 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
49 <<
"calcEdgeLoops() : "
50 <<
"calculating boundary edge loops"
60 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
62 ) <<
"edge loops already calculated"
66 const edgeList& patchEdges = edges();
67 label nIntEdges = nInternalEdges();
68 label nBdryEdges = patchEdges.
size() - nIntEdges;
97 label currentEdgeI = -1;
99 for (
label edgeI = nIntEdges; edgeI < patchEdges.
size(); edgeI++)
101 if (loopNumber[edgeI-nIntEdges] == -1)
103 currentEdgeI = edgeI;
108 if (currentEdgeI == -1)
115 dynamicLabelList loop(nBdryEdges);
118 label currentVertI = patchEdges[currentEdgeI].start();
122 loop.
append(currentVertI);
124 loopNumber[currentEdgeI - nIntEdges] = loopI;
127 currentVertI = patchEdges[currentEdgeI].otherVertex(currentVertI);
130 const labelList& curEdges = patchPointEdges[currentVertI];
136 label edgeI = curEdges[pI];
138 if (edgeI >= nIntEdges && (loopNumber[edgeI - nIntEdges] == -1))
141 currentEdgeI = edgeI;
147 while (currentEdgeI != -1);
159 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
160 <<
"calcEdgeLoops() : "
161 <<
"finished calculating boundary edge loops"
170 template<
class>
class FaceList,
183 return *edgeLoopsPtr_;
#define forAll(list, i)
Loop across all elements in list.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void append(const T &)
Append an element at the end of the list.
errorManip< error > abort(error &err)
void setSize(const label)
Reset size of List.
List< labelList > labelListList
A List of labelList.
const labelListList & edgeLoops() const
Return list of closed loops of boundary vertices.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
void calcEdgeLoops() const
Calculate outside edge loops.
void size(const label)
Override size to be inconsistent with allocated storage.