A triangular face using a FixedList of labels corresponding to mesh vertices. More...
Classes | |
struct | Hash |
Deprecated(2021-04) hashing functor. Use hasher() More... | |
struct | hasher |
Hashing functor for triFace (commutative) More... | |
Public Member Functions | |
triFace () | |
Default construct, with invalid point labels (-1) More... | |
triFace (const label a, const label b, const label c) | |
Construct from three point labels. More... | |
triFace (std::initializer_list< label > list) | |
Construct from an initializer list of three point labels. More... | |
triFace (const labelUList &list) | |
Copy construct from a list of three point labels. More... | |
triFace (const labelUList &list, const FixedList< label, 3 > &indices) | |
Copy construct from a subset of point labels. More... | |
triFace (Istream &is) | |
Construct from Istream. More... | |
label & | second () |
Return second vertex label. More... | |
label | second () const |
Return second vertex label. More... | |
label | collapse () |
'Collapse' face by marking duplicate point labels. More... | |
void | flip () |
Flip the face in-place. More... | |
pointField | points (const UList< point > &pts) const |
Return the points corresponding to this face. More... | |
face | triFaceFace () const |
Return triangle as a face. More... | |
triPointRef | tri (const UList< point > &points) const |
Return the triangle. More... | |
point | centre (const UList< point > &points) const |
Return centre (centroid) More... | |
template<class Type > | |
Type | average (const UList< point > &unused, const Field< Type > &fld) const |
Calculate average value at centroid of face. More... | |
vector | areaNormal (const UList< point > &points) const |
The area normal - with magnitude equal to area of face. More... | |
vector | unitNormal (const UList< point > &points) const |
The unit normal. More... | |
FOAM_DEPRECATED_FOR (2018-12, "areaNormal() or unitNormal()") vector normal(const UList< point > &points) const | |
Legacy name for areaNormal() More... | |
scalar | mag (const UList< point > &points) const |
Magnitude of face area. More... | |
label | nTriangles () const noexcept |
Number of triangles after splitting == 1. More... | |
triFace | reverseFace () const |
Return face with reverse direction. More... | |
label | which (const label pointLabel) const |
Find local index on face for the point label, same as find() More... | |
label | nextLabel (const label i) const |
Next vertex on face. More... | |
label | prevLabel (const label i) const |
Previous vertex on face. More... | |
label | thisLabel (const label i) const |
scalar | sweptVol (const UList< point > &opts, const UList< point > &npts) const |
Return swept-volume from old-points to new-points. More... | |
tensor | inertia (const UList< point > &points, const point &refPt=vector::zero, scalar density=1.0) const |
Return the inertia tensor, with optional reference. More... | |
pointHit | ray (const point &p, const vector &q, const UList< point > &points, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
Return point intersection with a ray starting at p, in direction q. More... | |
pointHit | intersection (const point &p, const vector &q, const UList< point > &points, const intersection::algorithm alg, const scalar tol=0.0) const |
Fast intersection with a ray. More... | |
pointHit | intersection (const point &p, const vector &q, const point &ctr, const UList< point > &points, const intersection::algorithm alg, const scalar tol=0.0) const |
pointHit | nearestPoint (const point &p, const UList< point > &points) const |
Return nearest point to face. More... | |
pointHit | nearestPointClassify (const point &p, const UList< point > &points, label &nearType, label &nearLabel) const |
Return nearest point to face and classify it: More... | |
int | sign (const point &p, const UList< point > &points, const scalar tol=SMALL) const |
The sign for which side of the face plane the point is on. More... | |
label | nEdges () const noexcept |
Return number of edges == 3. More... | |
Foam::edge | edge (const label edgei) const |
Return i-th face edge (forward walk order). More... | |
vector | edge (const label edgei, const UList< point > &pts) const |
Return vector of i-th face edge (forward walk order). More... | |
Foam::edge | rcEdge (const label edgei) const |
Return i-th face edge in reverse walk order. More... | |
vector | rcEdge (const label edgei, const UList< point > &pts) const |
Return vector of i-th face edge in reverse walk order. More... | |
edgeList | edges () const |
Return list of edges in forward walk order. More... | |
edgeList | rcEdges () const |
Return list of edges in reverse walk order. More... | |
int | edgeDirection (const Foam::edge &e) const |
Test the edge direction on the face. More... | |
unsigned | hash_code (unsigned seed=0) const |
The (commutative) hash value for triFace. More... | |
Foam::edge | faceEdge (label edgei) const |
Identical to edge() More... | |
![]() | |
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... | |
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... | |
Static Public Member Functions | |
static int | compare (const triFace &a, const triFace &b) |
Compare triFaces. More... | |
![]() | |
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 | |
![]() | |
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 label & | reference |
The type used for storing into value_type objects. More... | |
typedef label * | 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... | |
![]() | |
const typedef label * | const_pointer |
The pointer type for const access to value_type items. More... | |
const typedef label & | const_reference |
The type used for reading from constant value_type objects. More... | |
const typedef label * | const_iterator |
Random access iterator for traversing FixedList. More... | |
![]() | |
void | writeEntry (Ostream &os) const |
Write the FixedList with its compound type. More... | |
A triangular face using a FixedList of labels corresponding to mesh vertices.
|
inline |
Default construct, with invalid point labels (-1)
Definition at line 65 of file triFaceI.H.
|
inline |
Construct from three point labels.
Definition at line 72 of file triFaceI.H.
References Foam::constant::physicoChemical::b, and Foam::constant::universal::c.
|
inlineexplicit |
Construct from an initializer list of three point labels.
Definition at line 84 of file triFaceI.H.
|
inlineexplicit |
Copy construct from a list of three point labels.
Definition at line 90 of file triFaceI.H.
|
inline |
Copy construct from a subset of point labels.
Definition at line 97 of file triFaceI.H.
Construct from Istream.
Definition at line 106 of file triFaceI.H.
|
inline |
Return second vertex label.
Definition at line 116 of file triFace.H.
References FixedList< label, 3 >::operator[]().
|
inline |
Return second vertex label.
Definition at line 119 of file triFace.H.
References FixedList< label, 3 >::operator[]().
|
inline |
'Collapse' face by marking duplicate point labels.
Duplicates point labels are marked with '-1' (the lower vertex is retained). Return the collapsed size.
Definition at line 114 of file triFaceI.H.
References n.
|
inline |
Flip the face in-place.
The starting points of the original and flipped face are identical.
Definition at line 141 of file triFaceI.H.
|
inline |
Return the points corresponding to this face.
Definition at line 147 of file triFaceI.H.
References p.
|
inline |
Return triangle as a face.
Definition at line 159 of file triFaceI.H.
|
inline |
Return the triangle.
Definition at line 165 of file triFaceI.H.
References points.
Referenced by lumpedPointMovement::setInterpolator().
|
inline |
Calculate average value at centroid of face.
Definition at line 34 of file triFaceTemplates.C.
References fld.
|
inline |
The area normal - with magnitude equal to area of face.
Definition at line 187 of file triFaceI.H.
References points.
|
inline |
The unit normal.
Definition at line 198 of file triFaceI.H.
References Foam::mag(), n, points, s, and Foam::Zero.
Referenced by wallBoundedParticle::trackToEdge().
|
inline |
Legacy name for areaNormal()
Magnitude of face area.
Definition at line 206 of file triFaceI.H.
References Foam::mag(), and points.
|
inlinenoexcept |
Number of triangles after splitting == 1.
Definition at line 212 of file triFaceI.H.
|
inline |
Return face with reverse direction.
The starting points of the original and reverse face are identical.
Definition at line 218 of file triFaceI.H.
References triFace().
|
inline |
Find local index on face for the point label, same as find()
Definition at line 225 of file triFaceI.H.
References FixedList< T, N >::find().
|
inline |
Next vertex on face.
Definition at line 237 of file triFaceI.H.
|
inline |
Previous vertex on face.
Definition at line 243 of file triFaceI.H.
|
inline |
The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel()
Definition at line 231 of file triFaceI.H.
Return swept-volume from old-points to new-points.
Definition at line 250 of file triFaceI.H.
|
inline |
Return the inertia tensor, with optional reference.
point and density specification
Definition at line 283 of file triFaceI.H.
References points.
|
inline |
Return point intersection with a ray starting at p, in direction q.
Definition at line 295 of file triFaceI.H.
|
inline |
|
inline |
Definition at line 322 of file triFaceI.H.
|
inline |
|
inline |
Return nearest point to face and classify it:
+ near point (nearType=POINT, nearLabel=0, 1, 2) + near edge (nearType=EDGE, nearLabel=0, 1, 2) Note: edges are counted from starting vertex so e.g. edge n is from f[n] to f[0], where the face has n + 1 points
Definition at line 346 of file triFaceI.H.
The sign for which side of the face plane the point is on.
Uses the supplied tolerance for rounding around zero.
Definition at line 358 of file triFaceI.H.
|
inlinenoexcept |
Return number of edges == 3.
Definition at line 368 of file triFaceI.H.
|
inline |
Return i-th face edge (forward walk order).
The edge 0 is from [0] to [1] and edge 1 is from [1] to [2]
Definition at line 374 of file triFaceI.H.
Referenced by triFace::faceEdge().
|
inline |
Return vector of i-th face edge (forward walk order).
The edge 0 is from [0] to [1] and edge 1 is from [1] to [2]
Definition at line 381 of file triFaceI.H.
|
inline |
Return i-th face edge in reverse walk order.
The rcEdge 0 is from [0] to [n-1] and rcEdge 1 is from [n-1] to [n-2]
Definition at line 390 of file triFaceI.H.
|
inline |
Return vector of i-th face edge in reverse walk order.
The rcEdge 0 is from [0] to [n-1] and rcEdge 1 is from [n-1] to [n-2]
Definition at line 400 of file triFaceI.H.
|
inline |
Return list of edges in forward walk order.
The edge 0 is from [0] to [1] and edge 1 is from [1] to [2]
Definition at line 412 of file triFaceI.H.
|
inline |
Return list of edges in reverse walk order.
The rcEdge 0 is from [0] to [n-1] and rcEdge 1 is from [n-1] to [n-2]
Definition at line 429 of file triFaceI.H.
|
inline |
Test the edge direction on the face.
Definition at line 446 of file triFaceI.H.
References Foam::constant::electromagnetic::e.
Compare triFaces.
Definition at line 36 of file triFaceI.H.
References Foam::constant::physicoChemical::b.
Referenced by Foam::operator!=(), and Foam::operator==().
|
inline |
The (commutative) hash value for triFace.
Definition at line 320 of file triFace.H.
Referenced by triFace::hasher::operator()().
|
inline |
Identical to edge()
Definition at line 353 of file triFace.H.
References triFace::edge().