34 const primitiveMesh& mesh,
40 forAll(edgeLabels, edgeLabelI)
42 label edgeI = edgeLabels[edgeLabelI];
44 if (mesh.edges()[edgeI] == edge(v0, v1))
51 <<
"Cannot find an edge among " << edgeLabels <<
endl
52 <<
"that uses vertices " << v0
68 label a1 = (a + 1) % size;
81 <<
"Problem : a:" << a <<
" b:" <<
b <<
" size:" << size
100 if ((edgeI < 0) || (edgeI >= mesh.
nEdges()))
103 <<
"Illegal edge label:" << edgeI
104 <<
" when projecting cut edge from cell " << celli
105 <<
" to face " << facei
125 return lowest(
f.
size(), fpA, fpB);
164 if ((fpA != -1) && (fpB != -1))
166 return lowest(
f.
size(), fpA, fpB);
182 if ((fpA != -1) && (fpB != -1))
184 return lowest(
f.
size(), fpA, fpB);
188 <<
"Found connected faces " << mesh.
faces()[f0I] <<
" and "
189 << mesh.
faces()[f1I] <<
" sharing edge " << edgeI <<
endl
190 <<
"But none seems to be connected to face " << facei
210 os << wDist.index_ << wDist.n_;
216 reinterpret_cast<const char*
>(&wDist.index_),
222 os.
check(
"Ostream& operator<<(Ostream&, const directionInfo&)");
232 is >> wDist.index_ >> wDist.n_;
238 reinterpret_cast<char*
>(&wDist.index_),
244 is.
check(
"Istream& operator>>(Istream&, directionInfo&)");
#define forAll(list, i)
Loop across all elements in list.
streamFormat format() const
Return current stream format.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual Istream & read(token &)=0
Return next token from stream.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual Ostream & write(const char)=0
Write character.
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
static label edgeToFaceIndex(const primitiveMesh &mesh, const label celli, const label facei, const label edgeI)
Given edge on hex cell find corresponding edge on face. Is either.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
label end() const
Return end vertex label.
label start() const
Return start vertex label.
A face is a list of labels corresponding to mesh vertices.
Cell-face mesh analysis engine.
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
virtual const faceList & faces() const =0
Return faces.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
List< label > labelList
A List of labels.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
Istream & operator>>(Istream &, pistonPointEdgeData &)
label findIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurrence of given element and return index,.