Go to the documentation of this file.
35 Foam::label Foam::directionInfo::findEdge
37 const primitiveMesh&
mesh,
43 forAll(edgeLabels, edgeLabelI)
45 label edgeI = edgeLabels[edgeLabelI];
47 if (
mesh.edges()[edgeI] == edge(v0, v1))
54 <<
"Cannot find an edge among " << edgeLabels <<
endl
55 <<
"that uses vertices " << v0
63 Foam::label Foam::directionInfo::lowest
71 label a1 = (a + 1) % size;
79 label b1 = (
b + 1) % size;
84 <<
"Problem : a:" << a <<
" b:" <<
b <<
" size:" << size
97 const primitiveMesh&
mesh,
106 <<
"Illegal edge label:" << edgeI
107 <<
" when projecting cut edge from cell " << celli
108 <<
" to face " << facei
121 label fpA =
f.find(
e.start());
122 label fpB =
f.find(
e.end());
128 return lowest(
f.size(), fpA, fpB);
164 fpA =
f.find(e0.start());
165 fpB =
f.find(e0.end());
167 if ((fpA != -1) && (fpB != -1))
169 return lowest(
f.size(), fpA, fpB);
182 fpA =
f.find(e1.start());
183 fpB =
f.find(e1.end());
185 if ((fpA != -1) && (fpB != -1))
187 return lowest(
f.size(), fpA, fpB);
191 <<
"Found connected faces " <<
mesh.
faces()[f0I] <<
" and "
193 <<
"But none seems to be connected to face " << facei
208 const directionInfo& rhs
213 os << rhs.index_ << rhs.n_;
219 reinterpret_cast<const char*
>(&rhs.index_),
220 sizeof(directionInfo)
237 is >> rhs.index_ >> rhs.n_;
239 else if (!is.checkLabelSize<>() || !is.checkScalarSize<>())
253 reinterpret_cast<char*
>(&rhs.index_),
254 sizeof(directionInfo)
List< label > labelList
A List of labels.
static label edgeToFaceIndex(const primitiveMesh &mesh, const label celli, const label facei, const label edgeI)
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
streamFormat format() const noexcept
Ostream & endl(Ostream &os)
const edgeList & edges() const
virtual Ostream & write(const char c)
std::enable_if< std::is_integral< T >::value, bool >::type checkLabelSize() const noexcept
virtual bool endRawRead()=0
const dimensionedScalar b
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
std::enable_if< std::is_floating_point< T >::value, bool >::type checkScalarSize() const noexcept
virtual bool check(const char *operation) const
OBJstream os(runTime.globalPath()/outputName)
errorManip< error > abort(error &err)
@ ASCII
"ascii" (normal default)
virtual const faceList & faces() const
#define FatalErrorInFunction
virtual bool beginRawRead()=0
const dimensionedScalar e
A face is a list of labels corresponding to mesh vertices.
label readRawLabel(Istream &is)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static constexpr direction nComponents
virtual Istream & read(token &)=0
Cell-face mesh analysis engine.