38void Foam::triSurface::calcSortedEdgeFaces()
const
40 if (sortedEdgeFacesPtr_)
43 <<
"sortedEdgeFacesPtr_ already set"
56void Foam::triSurface::calcEdgeOwner()
const
61 <<
"edgeOwnerPtr_ already set"
65 edgeOwnerPtr_.reset(
new labelList(nEdges()));
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;
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
108 <<
" none of which use the edge vertices in the same order"
const labelListList & edgeFaces() const
A List with indirect addressing. Like IndirectList but does not store addressing.
iterator end() noexcept
Return an iterator to end traversing the UList.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
A triFace with additional (region) index.
const labelListList & sortedEdgeFaces() const
Return edge-face addressing sorted (for edges with more than.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.