62 label faceBasePtI =
mesh.tetBasePtIs()[facei_];
68 if (warn && nWarnings_ < maxNWarnings)
71 <<
"No base point for face " << facei_ <<
", " <<
f
72 <<
", produces a valid tet decomposition." <<
endl;
74 if (++nWarnings_ == maxNWarnings)
77 <<
"Suppressing further warnings." <<
endl;
82 const label facePtI = (tetPti_ + faceBasePtI) %
f.size();
83 const label faceOtherPtI =
f.fcIndex(facePtI);
85 if (
mesh.faceOwner()[facei_] != celli_)
88 return triFace(
f[faceBasePtI],
f[faceOtherPtI],
f[facePtI]);
91 return triFace(
f[faceBasePtI],
f[facePtI],
f[faceOtherPtI]);
103 label faceBasePtI =
mesh.tetBasePtIs()[facei_];
109 if (warn && nWarnings_ < maxNWarnings)
112 <<
"No base point for face " << facei_ <<
", " <<
f
113 <<
", produces a valid tet decomposition." <<
endl;
115 if (++nWarnings_ == maxNWarnings)
118 <<
"Suppressing further warnings." <<
endl;
123 const label facePtI = (tetPti_ + faceBasePtI) %
f.
size();
124 const label faceOtherPtI =
f.
fcIndex(facePtI);
129 return triFace(faceBasePtI, faceOtherPtI, facePtI);
132 return triFace(faceBasePtI, facePtI, faceOtherPtI);
143 mesh.cellCentres()[celli_],
158 mesh.oldCellCentres()[celli_],
175 const point& a =
mesh.cellCentres()[celli_];
182 (bary.
a()*a.
x() + bary.
b()*
b.x() + bary.
c()*c.x() + bary.
d()*d.
x()),
183 (bary.
a()*a.
y() + bary.
b()*
b.y() + bary.
c()*c.y() + bary.
d()*d.
y()),
184 (bary.
a()*a.
z() + bary.
b()*
b.z() + bary.
c()*c.z() + bary.
d()*d.
z())
213 ((
diff = (a.cell() -
b.cell())) != 0) ?
diff
214 : ((
diff = (a.face() -
b.face())) != 0) ?
diff
215 : (a.tetPt() -
b.tetPt())
228 && a.face() ==
b.face()
229 && a.tetPt() ==
b.tetPt()
const Cmpt & b() const noexcept
const Cmpt & d() const noexcept
const Cmpt & a() const noexcept
const Cmpt & c() const noexcept
void size(const label n)
Older name for setAddressableSize.
label fcIndex(const label i) const noexcept
The forward circular index. The next index in the list which returns to the first at the end of the l...
const Cmpt & x() const noexcept
Access to the vector x component.
const Cmpt & z() const noexcept
Access to the vector z component.
const Cmpt & y() const noexcept
Access to the vector y component.
A face is a list of labels corresponding to mesh vertices.
Mesh consisting of general polyhedral cells.
virtual const labelList & faceOwner() const
Return face owner.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
tetPointRef oldTet(const polyMesh &mesh) const
The tet geometry for this tet (using old positions), where point0 is the cell centre.
triFace triIs(const polyMesh &mesh, const bool warn=true) const
Local indices corresponding to the tri on the face for this tet. The normal of the tri points out of ...
static label compare(const tetIndices &a, const tetIndices &b) noexcept
Compare tetIndices for equality. Compares cell, face, tetPt elements in order, stopping at the first ...
triFace faceTriIs(const polyMesh &mesh, const bool warn=true) const
The indices corresponding to the tri on the face for this tet. The normal of the tri points out of th...
tetPointRef tet(const polyMesh &mesh) const
The tet geometry for this tet, where point0 is the cell centre.
triPointRef faceTri(const polyMesh &mesh) const
The triangle geometry for the face for this tet. The normal of the tri points out of the cell.
constexpr tetIndices() noexcept
Default construct, with invalid labels (-1).
triPointRef oldFaceTri(const polyMesh &mesh) const
The triangle geometry for the face for this tet (using old positions).
point barycentricToPoint(const polyMesh &mesh, const barycentric &bary) const
The x/y/z position for given barycentric coordinates (where point0 is the cell centre).
A triangular face using a FixedList of labels corresponding to mesh vertices.
#define WarningInFunction
Report a warning using Foam::Warning.
bool operator!=(const eddy &a, const eddy &b)
tetrahedron< point, const point & > tetPointRef
A tetrahedron using referred points.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
vector point
Point is a vector.
triangle< point, const point & > triPointRef
A triangle using referred points.
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
vectorField pointField
pointField is a vectorField.
messageStream Warning
Warning stream (stdout output on master, null elsewhere), with additional 'FOAM Warning' header text.