A tetrahedral cell primitive. More...
Public Member Functions | |
void | front ()=delete |
The front() accessor (from FixedList) has no purpose. More... | |
void | back ()=delete |
The back() accessor (from FixedList) has no purpose. More... | |
tetCell () | |
Default construct, with invalid point labels (-1) More... | |
tetCell (const label p0, const label p1, const label p2, const label p3) | |
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) | |
Move construct by using move assignment for the individual list elements. More... | |
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 & | get () noexcept |
Element access using compile-time indexing. More... | |
const label & | get () const noexcept |
Element access using compile-time indexing. More... | |
label & | front () noexcept |
Access first element of the list, position [0]. More... | |
const label & | front () const noexcept |
Access first element of the list, position [0]. More... | |
label & | back () noexcept |
Access last element of the list, position [N-1]. More... | |
const label & | back () const noexcept |
Access last element of the list, position [N-1]. More... | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. next index which returns to the first at the end of the list. More... | |
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 |
Return the reverse circular index, i.e. previous index which returns to the last at the beginning of the list. More... | |
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) |
Transfer by swapping using a move assignment for the content of the individual list elements. More... | |
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... | |
Istream & | readList (Istream &is) |
Read from Istream, discarding contents of existing List. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
label & | first () noexcept |
Access first element of the list, position [0] - front() More... | |
const label & | first () const noexcept |
Access first element of the list, position [0] - front() More... | |
label & | last () noexcept |
Access last element of the list, position [N-1] - back() More... | |
const label & | last () const noexcept |
Access last element of the list, position [N-1] - back() 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::faceList & | modelFaces () |
Return the model faces. More... | |
static const Foam::edgeList & | modelEdges () |
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 () |
Number of contiguous bytes for the list data, runtime FatalError if type is not contiguous. More... | |
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< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_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... | |
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
|
inline |
Default construct, with invalid point labels (-1)
Definition at line 24 of file tetCellI.H.
|
inline |
|
inlineexplicit |
Construct from an initializer list of four point labels.
Definition at line 45 of file tetCellI.H.
Construct from FixedList of four point labels.
Definition at line 51 of file tetCellI.H.
|
inline |
Copy construct from a subset of point labels.
Definition at line 58 of file tetCellI.H.
Copy construct from a subset of point labels.
Definition at line 69 of file tetCellI.H.
Construct from Istream.
Definition at line 78 of file tetCellI.H.
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
Number of edges for TET.
Definition at line 158 of file tetCell.H.
Referenced by tetCell::edge(), tetCell::edgeAdjacentFace(), tetCell::edgeFace(), and tetCell::modelEdges().
|
inlinestaticnoexcept |
Number of faces for TET.
Definition at line 166 of file tetCell.H.
Referenced by tetCell::edgeAdjacentFace(), tetCell::face(), and tetCell::modelFaces().
|
static |
Return the model faces.
Definition at line 57 of file tetCell.C.
References f(), and tetCell::nFaces().
|
static |
Return the model edges.
Definition at line 79 of file tetCell.C.
References Foam::constant::electromagnetic::e, and tetCell::nEdges().
|
inline |
Return i-th face.
Definition at line 86 of file tetCellI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, tetCell::nFaces(), and triFace().
|
inline |
Return first face adjacent to the given edge.
Definition at line 106 of file tetCellI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tetCell::nEdges().
|
inline |
Return face adjacent to the given face sharing the same edge.
Definition at line 126 of file tetCellI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, tetCell::nEdges(), and tetCell::nFaces().
|
inline |
Return i-th edge.
Definition at line 163 of file tetCellI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tetCell::nEdges().
Referenced by tetCell::tetEdge().
|
inline |
Return i-th edge reversed.
Definition at line 182 of file tetCellI.H.
References edge::reverseEdge().
|
inline |
The points corresponding to this shape.
Definition at line 190 of file tetCellI.H.
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 135 of file tetCell.C.
References cellModel::ptr(), and cellModel::TET.
|
inline |
Return the tetrahedron.
Definition at line 199 of file tetCellI.H.
|
inline |
Identical to edge()
Definition at line 235 of file tetCell.H.
References tetCell::edge().
Foam::cellShape tetCellShape | ( | ) | const |
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.