38 void Foam::triSurface::calcSortedEdgeFaces()
const 40 if (sortedEdgeFacesPtr_)
43 <<
"sortedEdgeFacesPtr_ already set" 56 void 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;
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" error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
constexpr char nl
The newline '\n' character (0x0a)
List< labelList > labelListList
List of labelList.
#define forAll(list, i)
Loop across all elements in list.
const dimensionedScalar e
Elementary charge.
const labelListList & sortedEdgeFaces() const
Return edge-face addressing sorted (for edges with more than.
const labelListList & edgeFaces() const
Return edge-face addressing.
errorManip< error > abort(error &err)
List< label > labelList
A List of labels.