tetCell Class Reference

A tetrahedral cell primitive. More...

Inheritance diagram for tetCell:
[legend]
Collaboration diagram for tetCell:
[legend]

Public Member Functions

 tetCell ()
 Default construct, with invalid point labels (-1) More...
 
 tetCell (const label a, const label b, const label c, const label d)
 Construct from four point labels. More...
 
 tetCell (std::initializer_list< label > list)
 Construct from an initializer list of four point labels. More...
 
 tetCell (const FixedList< label, 4 > &list)
 Construct from FixedList of four point labels. More...
 
 tetCell (const labelUList &list, const FixedList< label, 4 > &indices)
 Copy construct from a subset of point labels. More...
 
template<unsigned AnyNum>
 tetCell (const FixedList< label, AnyNum > &list, const FixedList< label, 4 > &indices)
 Copy construct from a subset of point labels. More...
 
 tetCell (Istream &is)
 Construct from Istream. More...
 
Foam::triFace face (const label facei) const
 Return i-th face. More...
 
label edgeFace (const label edgei) const
 Return first face adjacent to the given edge. More...
 
label edgeAdjacentFace (const label edgei, const label facei) const
 Return face adjacent to the given face sharing the same edge. More...
 
Foam::edge edge (const label edgei) const
 Return i-th edge. More...
 
Foam::edge reverseEdge (const label edgei) const
 Return i-th edge reversed. More...
 
pointField points (const UList< point > &meshPoints) const
 The points corresponding to this shape. More...
 
cellShape shape () const
 Return TET shape cell. More...
 
tetPointRef tet (const UList< point > &meshPoints) const
 Return the tetrahedron. More...
 
Foam::edge tetEdge (label edgei) const
 Identical to edge() More...
 
cellShape tetCellShape () const
 Identical to shape() More...
 
- Public Member Functions inherited from FixedList< label, 4 >
void writeEntry (const word &keyword, Ostream &os) const
 Write the list as a dictionary entry with keyword. More...
 
 FixedList ()=default
 Default construct. More...
 
 FixedList (const label &val)
 Construct and initialize all entries to given value. More...
 
 FixedList (const Foam::zero)
 Construct and initialize all entries to zero. More...
 
 FixedList (const label list[N])
 Copy construct from C-array (deprecated) More...
 
 FixedList (const FixedList< label, N > &list)
 Copy construct. More...
 
 FixedList (FixedList< label, N > &&list)
 
 FixedList (std::initializer_list< label > list)
 Construct from an initializer list. Runtime size check. More...
 
 FixedList (const UList< label > &list)
 Construct from UList. Runtime size check. More...
 
 FixedList (const FixedList< label, AnyNum > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (const UList< label > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (const SLList< label > &list)
 Construct from SLList. Runtime size check. More...
 
 FixedList (Istream &is)
 Construct from Istream. More...
 
autoPtr< FixedList< label, N > > clone () const
 Clone. More...
 
const label * cdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
label * data () noexcept
 Return pointer to the underlying array serving as data storage. More...
 
const char * cdata_bytes () const noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
char * data_bytes () noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
label & first () noexcept
 The first element of the list, position [0]. More...
 
const label & first () const noexcept
 The first element of the list, position [0]. More...
 
label & last () noexcept
 The last element of the list, position [N-1]. More...
 
const label & last () const noexcept
 The last element of the list, position [N-1]. More...
 
label fcIndex (const label i) const
 
const label & fcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
label & fcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
label rcIndex (const label i) const
 
const label & rcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
label & rcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
void checkStart (const label start) const
 Check start is within valid range [0,size) More...
 
void checkSize (const label size) const
 Check size is identical to template parameter N. More...
 
void checkIndex (const label i) const
 Check index is within valid range [0,N) More...
 
bool uniform () const
 True if all entries have identical values, and list is non-empty. More...
 
label find (const label &val, label pos=0) const
 Find index of the first occurrence of the value. More...
 
label rfind (const label &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
bool found (const label &val, label pos=0) const
 True if the value if found in the list. More...
 
void resize (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void resize_nocopy (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void setSize (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void fill (const label &val)
 Assign all entries to the given value. More...
 
void fill (const Foam::zero)
 Assign all entries to zero. More...
 
void moveFirst (const label i)
 Move element to the first position. More...
 
void moveLast (const label i)
 Move element to the last position. More...
 
void swapFirst (const label i)
 Swap element with the first element. More...
 
void swapLast (const label i)
 Swap element with the last element. More...
 
void transfer (FixedList< label, N > &list)
 
label & operator[] (const label i)
 Return element of FixedList. More...
 
const label & operator[] (const label i) const
 Return element of constant FixedList. More...
 
void operator= (const label list[N])
 Assignment to array operator. Takes linear time. More...
 
void operator= (const UList< label > &list)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const SLList< label > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (std::initializer_list< label > list)
 Assignment to an initializer list. Takes linear time. More...
 
void operator= (const label &val)
 Assign all entries to the given value. fill() More...
 
void operator= (const Foam::zero)
 Assign all entries to zero. fill() More...
 
void operator= (const FixedList< label, N > &list)
 Copy assignment. More...
 
void operator= (FixedList< label, N > &&list)
 Move assignment. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the FixedList. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the FixedList. More...
 
const_iterator end () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the FixedList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the FixedList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
void swap (FixedList< label, N > &other)
 Swap lists by swapping the content of the individual list elements. More...
 
bool operator== (const FixedList< label, N > &list) const
 Equality operation on FixedLists of the same type. More...
 
bool operator!= (const FixedList< label, N > &list) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const FixedList< label, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator> (const FixedList< label, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator<= (const FixedList< label, N > &list) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const FixedList< label, N > &list) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read from Istream, discarding contents of existing List. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 

Static Public Member Functions

static constexpr label nPoints () noexcept
 Number of points for TET. More...
 
static constexpr label nEdges () noexcept
 Number of edges for TET. More...
 
static constexpr label nFaces () noexcept
 Number of faces for TET. More...
 
static const Foam::faceListmodelFaces ()
 Return the model faces. More...
 
static const Foam::edgeListmodelEdges ()
 Return the model edges. More...
 
- Static Public Member Functions inherited from FixedList< label, 4 >
static const FixedList< label, N > & null ()
 Return a null FixedList. More...
 
static std::streamsize size_bytes () noexcept
 Number of contiguous bytes for the list data,. More...
 
static std::streamsize byteSize ()
 
static constexpr bool empty () noexcept
 Always false since zero-sized FixedList is compile-time disabled. More...
 
static constexpr label size () noexcept
 Return the number of elements in the FixedList. More...
 
static constexpr unsigned max_size () noexcept
 The dimensioned size (template parameter N) of the FixedList. More...
 

Additional Inherited Members

- Public Types inherited from FixedList< label, 4 >
typedef label value_type
 The value type the FixedList contains. More...
 
typedef label * pointer
 The pointer type for non-const access to value_type items. More...
 
typedef const label * const_pointer
 The pointer type for const access to value_type items. More...
 
typedef label & reference
 The type used for storing into value_type objects. More...
 
typedef const label & const_reference
 The type used for reading from constant value_type objects. More...
 
typedef label * iterator
 Random access iterator for traversing FixedList. More...
 
typedef const label * const_iterator
 Random access iterator for traversing FixedList. More...
 
typedef label size_type
 The type to represent the size of a FixedList. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator (const access) More...
 
- Protected Member Functions inherited from FixedList< label, 4 >
void writeEntry (Ostream &os) const
 Write the FixedList with its compound type. More...
 

Detailed Description

A tetrahedral cell primitive.

It is important that the face/edge ordering is identical for a tetrahedron class, a tetrahedron cell shape model and a tetCell

Source files

Definition at line 64 of file tetCell.H.

Constructor & Destructor Documentation

◆ tetCell() [1/7]

tetCell ( )
inline

Default construct, with invalid point labels (-1)

Definition at line 31 of file tetCellI.H.

◆ tetCell() [2/7]

tetCell ( const label  a,
const label  b,
const label  c,
const label  d 
)
inline

Construct from four point labels.

Definition at line 37 of file tetCellI.H.

References b.

◆ tetCell() [3/7]

tetCell ( std::initializer_list< label >  list)
inlineexplicit

Construct from an initializer list of four point labels.

Definition at line 52 of file tetCellI.H.

◆ tetCell() [4/7]

tetCell ( const FixedList< label, 4 > &  list)
inline

Construct from FixedList of four point labels.

Definition at line 58 of file tetCellI.H.

◆ tetCell() [5/7]

tetCell ( const labelUList list,
const FixedList< label, 4 > &  indices 
)
inline

Copy construct from a subset of point labels.

Definition at line 64 of file tetCellI.H.

◆ tetCell() [6/7]

tetCell ( const FixedList< label, AnyNum > &  list,
const FixedList< label, 4 > &  indices 
)
inline

Copy construct from a subset of point labels.

Definition at line 75 of file tetCellI.H.

◆ tetCell() [7/7]

tetCell ( Istream is)
inlineexplicit

Construct from Istream.

Definition at line 85 of file tetCellI.H.

Member Function Documentation

◆ nPoints()

static constexpr label nPoints ( )
inlinestaticconstexprnoexcept

Number of points for TET.

Definition at line 121 of file tetCell.H.

◆ nEdges()

static constexpr label nEdges ( )
inlinestaticconstexprnoexcept

Number of edges for TET.

Definition at line 127 of file tetCell.H.

Referenced by tetCell::edge(), tetCell::edgeAdjacentFace(), tetCell::edgeFace(), and tetCell::modelEdges().

Here is the caller graph for this function:

◆ nFaces()

static constexpr label nFaces ( )
inlinestaticconstexprnoexcept

Number of faces for TET.

Definition at line 133 of file tetCell.H.

Referenced by tetCell::edgeAdjacentFace(), tetCell::face(), and tetCell::modelFaces().

Here is the caller graph for this function:

◆ modelFaces()

const Foam::faceList & modelFaces ( )
static

Return the model faces.

Definition at line 64 of file tetCell.C.

References f(), and tetCell::nFaces().

Here is the call graph for this function:

◆ modelEdges()

const Foam::edgeList & modelEdges ( )
static

Return the model edges.

Definition at line 86 of file tetCell.C.

References e, and tetCell::nEdges().

Here is the call graph for this function:

◆ face()

Foam::triFace face ( const label  facei) const
inline

Return i-th face.

Definition at line 93 of file tetCellI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tetCell::nFaces().

Here is the call graph for this function:

◆ edgeFace()

Foam::label edgeFace ( const label  edgei) const
inline

Return first face adjacent to the given edge.

Definition at line 113 of file tetCellI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tetCell::nEdges().

Here is the call graph for this function:

◆ edgeAdjacentFace()

Foam::label edgeAdjacentFace ( const label  edgei,
const label  facei 
) const
inline

Return face adjacent to the given face sharing the same edge.

Definition at line 132 of file tetCellI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, tetCell::nEdges(), and tetCell::nFaces().

Here is the call graph for this function:

◆ edge()

Foam::edge edge ( const label  edgei) const
inline

Return i-th edge.

Definition at line 170 of file tetCellI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tetCell::nEdges().

Here is the call graph for this function:

◆ reverseEdge()

Foam::edge reverseEdge ( const label  edgei) const
inline

Return i-th edge reversed.

Definition at line 189 of file tetCellI.H.

References edge::reverseEdge().

Here is the call graph for this function:

◆ points()

Foam::pointField points ( const UList< point > &  meshPoints) const
inline

The points corresponding to this shape.

Definition at line 196 of file tetCellI.H.

◆ shape()

Foam::cellShape shape ( ) const

Return TET shape cell.

Foam::faceList Foam::tetCell::faces() const { Foam::faceList theFaces(tetCell::nFaces(), Foam::face(3));

label facei = 0; for (auto& f : theFaces) { f[0] = (*this)[modelFaces_[facei][0]]; f[1] = (*this)[modelFaces_[facei][1]]; f[2] = (*this)[modelFaces_[facei][2]]; ++facei; }

return theFaces; }

Foam::edgeList Foam::tetCell::edges() const { Foam::edgeList theEdges(tetCell::nEdges());

label edgei = 0; for (auto& e : theEdges) { e[0] = (*this)[modelEdges_[edgei][0]]; e[1] = (*this)[modelEdges_[edgei][1]]; ++edgei; }

return theEdges; }

Definition at line 142 of file tetCell.C.

References cellModel::TET.

◆ tet()

Foam::tetPointRef tet ( const UList< point > &  meshPoints) const
inline

Return the tetrahedron.

Definition at line 205 of file tetCellI.H.

References tetCell::tet().

Referenced by tetCell::tet().

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

◆ tetEdge()

Foam::edge tetEdge ( label  edgei) const
inline

Identical to edge()

Definition at line 180 of file tetCell.H.

◆ tetCellShape()

Foam::cellShape tetCellShape ( ) const

Identical to shape()

Definition at line 155 of file tetCell.C.


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