40 const label masterFaceLabel,
50 const face& masterFace = meshFaces[masterFaceLabel];
52 label oppositeFaceLabel = -1;
54 for (
const label facei : *
this)
57 const face&
f = meshFaces[facei];
62 facei != masterFaceLabel
63 &&
f.size() == masterFace.
size()
64 && !
f.connected(masterFace)
68 if (oppositeFaceLabel == -1)
71 oppositeFaceLabel = facei;
77 Info<<
"Multiple faces not sharing vertex: "
78 << oppositeFaceLabel <<
" and "
85 return oppositeFaceLabel;
91 const label masterFaceLabel,
96 label oppFaceLabel = opposingFaceLabel(masterFaceLabel, meshFaces);
101 return oppositeFace(face(0), masterFaceLabel, oppFaceLabel);
112 const face& masterFace = meshFaces[masterFaceLabel];
113 const face& slaveFace = meshFaces[oppFaceLabel];
121 face(masterFace.size()),
126 forAll(masterFace, pointi)
132 if (!usedEdges.test(edgeI))
135 label otherVertex =
e[edgeI].otherVertex(masterFace[pointi]);
137 if (otherVertex != -1)
142 forAll(slaveFace, slavePointi)
144 if (slaveFace[slavePointi] == otherVertex)
146 usedEdges.set(edgeI);
147 oppFace[pointi] = otherVertex;
void size(const label n)
Older name for setAddressableSize.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void set(const bitSet &bitset)
Set specified bits from another bitset.
bool test(const label pos) const
Test for True value at specified position, never auto-vivify entries.
oppositeFace opposingFace(const label masterFaceLabel, const faceUList &meshFaces) const
Return opposite face oriented the same way as the master face.
edgeList edges(const faceUList &meshFaces) const
Return cell edges.
label opposingFaceLabel(const label masterFaceLabel, const faceUList &meshFaces) const
Return index of opposite face.
A face is a list of labels corresponding to mesh vertices.
Class containing opposite face for a prismatic cell with addressing and a possibility of failure.
List< edge > edgeList
List of edge.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
UList< face > faceUList
UList of faces.
#define forAll(list, i)
Loop across all elements in list.