tetIndices Class Reference

Storage and named access for the indices of a tet which is part of the decomposition of a cell. More...

Public Member Functions

constexpr tetIndices () noexcept
 Default construct, with invalid labels (-1) More...
 
constexpr tetIndices (label celli, label facei, label tetPointi) noexcept
 Construct from components. More...
 
 ~tetIndices ()=default
 Destructor. More...
 
label cell () const noexcept
 Return the cell index. More...
 
label & cell () noexcept
 Non-const access to the cell index. More...
 
label face () const noexcept
 Return the face index. More...
 
label & face () noexcept
 Non-const access to the face index. More...
 
label tetPt () const noexcept
 Return the characterising tet point index. More...
 
label & tetPt () noexcept
 Non-const access to the characterising tet point index. More...
 
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 the cell. More...
 
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 the cell. More...
 
tetPointRef tet (const polyMesh &mesh) const
 The tet geometry for this tet, where point0 is the cell centre. More...
 
tetPointRef oldTet (const polyMesh &mesh) const
 The tet geometry for this tet (using old positions), where point0 is the cell centre. More...
 
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. More...
 
triPointRef oldFaceTri (const polyMesh &mesh) const
 The triangle geometry for the face for this tet (using old positions) More...
 
point barycentricToPoint (const polyMesh &mesh, const barycentric &bary) const
 The x/y/z position for given barycentric coordinates (where point0 is the cell centre). More...
 

Static Public Member Functions

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 inequality. More...
 

Friends

Istreamoperator>> (Istream &, tetIndices &)
 
Ostreamoperator<< (Ostream &, const tetIndices &)
 

Detailed Description

Storage and named access for the indices of a tet which is part of the decomposition of a cell.

Tets are designated by

  • cell (of course)
  • face on cell
  • three points on face (faceBasePt, facePtA, facePtB) When constructing from a mesh and index in the face (tetPtI):
    • faceBasePt is the mesh.tetBasePtIs() base point
    • facePtA is tetPtI away from faceBasePt
    • facePtB is next one after/before facePtA e.g.:

      +—+ |2 /| | / | |/ 1| <- tetPt (so 1 for first triangle, 2 for second) +—+ ^ faceBasePt

Source files

Definition at line 78 of file tetIndices.H.

Constructor & Destructor Documentation

◆ tetIndices() [1/2]

constexpr tetIndices ( )
inlinenoexcept

Default construct, with invalid labels (-1)

Definition at line 24 of file tetIndicesI.H.

◆ tetIndices() [2/2]

constexpr tetIndices ( label  celli,
label  facei,
label  tetPointi 
)
inlinenoexcept

Construct from components.

Definition at line 33 of file tetIndicesI.H.

◆ ~tetIndices()

~tetIndices ( )
default

Destructor.

Member Function Documentation

◆ cell() [1/2]

◆ cell() [2/2]

label& cell ( )
inlinenoexcept

Non-const access to the cell index.

Definition at line 151 of file tetIndices.H.

◆ face() [1/2]

◆ face() [2/2]

label& face ( )
inlinenoexcept

Non-const access to the face index.

Definition at line 161 of file tetIndices.H.

◆ tetPt() [1/2]

label tetPt ( ) const
inlinenoexcept

Return the characterising tet point index.

Definition at line 166 of file tetIndices.H.

Referenced by tetIndices::compare(), polyMesh::findTetFacePt(), Foam::operator<<(), Foam::operator==(), Foam::operator>>(), and wallBoundedStreamLine::track().

Here is the caller graph for this function:

◆ tetPt() [2/2]

label& tetPt ( )
inlinenoexcept

Non-const access to the characterising tet point index.

Definition at line 171 of file tetIndices.H.

◆ faceTriIs()

Foam::triFace faceTriIs ( const polyMesh mesh,
const bool  warn = true 
) const
inline

◆ triIs()

Foam::triFace triIs ( const polyMesh mesh,
const bool  warn = true 
) const
inline

Local indices corresponding to the tri on the face for this tet. The normal of the tri points out of the cell.

Definition at line 89 of file tetIndicesI.H.

References Foam::endl(), f(), polyMesh::faceOwner(), polyMesh::faces(), UList< T >::fcIndex(), mesh, UList< T >::size(), polyMesh::tetBasePtIs(), triFace(), Foam::Warning, and WarningInFunction.

Referenced by wallBoundedParticle::trackToEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tet()

Foam::tetPointRef tet ( const polyMesh mesh) const
inline

The tet geometry for this tet, where point0 is the cell centre.

Definition at line 129 of file tetIndicesI.H.

References primitiveMesh::cellCentres(), mesh, polyMesh::points(), and pts.

Referenced by nearWallFields::calcAddressing(), Dual< Type >::Dual(), polyMeshTetDecomposition::findTet(), cellPointWeight::findTetrahedron(), interpolation< Foam::vector >::interpolate(), Moment< Type >::Moment(), wallBoundedParticle::trackToEdge(), and AveragingMethod< Foam::vector >::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ oldTet()

Foam::tetPointRef oldTet ( const polyMesh mesh) const
inline

The tet geometry for this tet (using old positions), where point0 is the cell centre.

Definition at line 144 of file tetIndicesI.H.

References mesh, polyMesh::oldCellCentres(), polyMesh::oldPoints(), and pts.

Here is the call graph for this function:

◆ faceTri()

Foam::triPointRef faceTri ( const polyMesh mesh) const
inline

The triangle geometry for the face for this tet. The normal of the tri points out of the cell.

Definition at line 182 of file tetIndicesI.H.

References mesh, and polyMesh::points().

Referenced by cellPointWeight::findTriangle(), FreeStream< CloudType >::inflow(), polyMesh::pointInCell(), wallBoundedStreamLine::track(), and wallBoundedParticle::trackToEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ oldFaceTri()

Foam::triPointRef oldFaceTri ( const polyMesh mesh) const
inline

The triangle geometry for the face for this tet (using old positions)

Definition at line 189 of file tetIndicesI.H.

References mesh, and polyMesh::oldPoints().

Here is the call graph for this function:

◆ barycentricToPoint()

Foam::point barycentricToPoint ( const polyMesh mesh,
const barycentric bary 
) const
inline

The x/y/z position for given barycentric coordinates (where point0 is the cell centre).

Definition at line 160 of file tetIndicesI.H.

References Barycentric< Cmpt >::a(), Foam::constant::physicoChemical::b, Barycentric< Cmpt >::b(), Foam::constant::universal::c, Barycentric< Cmpt >::c(), primitiveMesh::cellCentres(), Barycentric< Cmpt >::d(), mesh, polyMesh::points(), and pts.

Here is the call graph for this function:

◆ compare()

Foam::label compare ( const tetIndices a,
const tetIndices b 
)
inlinestaticnoexcept

Compare tetIndices for equality. Compares cell, face, tetPt elements in order, stopping at the first inequality.

Returns
negative/zero/positive from the last element compared

Definition at line 198 of file tetIndicesI.H.

References Foam::constant::physicoChemical::b, tetIndices::cell(), Foam::diff(), tetIndices::face(), and tetIndices::tetPt().

Referenced by Foam::operator<(), Foam::operator<=(), Foam::operator>(), and Foam::operator>=().

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream ,
tetIndices  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream ,
const tetIndices  
)
friend

The documentation for this class was generated from the following files: