40 const label masterFaceLabel,
50 const face& masterFace = meshFaces[masterFaceLabel];
54 label oppositeFaceLabel = -1;
56 forAll(curFaceLabels, facei)
59 const face& curFace = meshFaces[curFaceLabels[facei]];
64 curFaceLabels[facei] != masterFaceLabel
65 && curFace.
size() == masterFace.
size()
68 bool sharedPoint =
false;
74 const label l = curFace[pointi];
76 forAll(masterFace, masterPointi)
78 if (masterFace[masterPointi] == l)
85 if (sharedPoint)
break;
91 if (oppositeFaceLabel == -1)
94 oppositeFaceLabel = curFaceLabels[facei];
100 Info<<
"Multiple faces not sharing vertex: "
101 << oppositeFaceLabel <<
" and "
102 << curFaceLabels[facei] <<
endl;
109 return oppositeFaceLabel;
115 const label masterFaceLabel,
120 label oppFaceLabel = opposingFaceLabel(masterFaceLabel, meshFaces);
123 if (oppFaceLabel < 0)
136 const face& masterFace = meshFaces[masterFaceLabel];
137 const face& slaveFace = meshFaces[oppFaceLabel];
150 forAll(masterFace, pointi)
156 if (!usedEdges.
test(edgeI))
159 label otherVertex =
e[edgeI].otherVertex(masterFace[pointi]);
161 if (otherVertex != -1)
166 forAll(slaveFace, slavePointi)
168 if (slaveFace[slavePointi] == otherVertex)
170 usedEdges.
set(edgeI);
171 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 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.
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.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
#define forAll(list, i)
Loop across all elements in list.