38void Foam::triSurface::calcSortedEdgeFaces()
const
40 if (sortedEdgeFacesPtr_)
43 <<
"sortedEdgeFacesPtr_ already set"
56void Foam::triSurface::calcEdgeOwner()
const
61 <<
"edgeOwnerPtr_ already set"
66 auto& edgeOwner = *edgeOwnerPtr_;
70 const edge&
e = edges()[edgeI];
72 const labelList& myFaces = edgeFaces()[edgeI];
74 if (myFaces.size() == 1)
76 edgeOwner[edgeI] = myFaces[0];
82 edgeOwner[edgeI] = -1;
86 const labelledTri&
f = localFaces()[myFaces[i]];
90 ((
f[0] ==
e.start()) && (
f[1] ==
e.
end()))
91 || ((
f[1] ==
e.start()) && (
f[2] ==
e.
end()))
92 || ((
f[2] ==
e.start()) && (
f[0] ==
e.
end()))
95 edgeOwner[edgeI] = myFaces[i];
101 if (edgeOwner[edgeI] == -1)
104 <<
"Edge " << edgeI <<
" vertices:" <<
e
105 <<
" is used by faces " << myFaces
107 << UIndirectList<labelledTri>(localFaces(), myFaces)
108 <<
" none of which use the edge vertices in the same order"
const labelListList & edgeFaces() const
Return edge-face addressing.
iterator end() noexcept
Return an iterator to end traversing the UList.
const labelListList & sortedEdgeFaces() const
Return edge-face addressing sorted (for edges with more than.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const labelList nEdges(UPstream::listGatherValues< label >(aMesh.nEdges()))
List< label > labelList
A List of labels.
List< labelList > labelListList
A List of labelList.
errorManip< error > abort(error &err)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.