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 | |
void | front ()=delete |
The front() accessor (from FixedList) has no purpose. More... | |
void | back ()=delete |
The back() accessor (from FixedList) has no purpose. More... | |
triFace () | |
Default construct, with invalid vertex labels (-1) More... | |
triFace (const label p0, const label p1, const label p2) noexcept | |
Construct from three vertex labels. More... | |
triFace (std::initializer_list< label > list) | |
Construct from an initializer list of three vertex labels. More... | |
triFace (const labelUList &list) | |
Copy construct from a list of three vertex labels. More... | |
triFace (const labelUList &list, const FixedList< label, 3 > &indices) | |
Copy construct from a subset of vertex labels. More... | |
triFace (Istream &is) | |
Construct from Istream. More... | |
label | a () const noexcept |
The first vertex. More... | |
label | b () const noexcept |
The second vertex. More... | |
label | c () const noexcept |
The third vertex. More... | |
label & | a () noexcept |
The first vertex. More... | |
label & | b () noexcept |
The second vertex. More... | |
label & | c () noexcept |
The third vertex. More... | |
bool | good () const noexcept |
True if vertices are unique and non-negative. More... | |
label | collapse () |
'Collapse' face by marking duplicate vertex 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... | |
Pair< point > | box (const UList< point > &points) const |
The enclosing (bounding) box for the face. 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 vertex) const |
Find local vertex on face for the vertex 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 |
The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel() More... | |
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... | |
bool | contains (const Foam::edge &e) const |
True if face contains(edge) More... | |
label | find (const Foam::edge &e) const |
Find the edge within the face. More... | |
int | edgeDirection (const Foam::edge &e) const |
Test the edge direction on the face. More... | |
void | operator+= (const label vertexOffset) |
Increment (offset) vertices by given amount. More... | |
unsigned | hash_code (unsigned seed=0) const |
The (commutative) hash value for triFace. More... | |
bool | valid () const noexcept |
Same as good() More... | |
Foam::edge | faceEdge (label edgei) const |
Identical to edge() More... | |
Public Member Functions inherited from FixedList< label, 3 > | |
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 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 (Istream &is) | |
Construct from Istream. More... | |
FixedList (const label list[N]) | |
Deprecated: copy construct from C-array. 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 noexcept |
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 noexcept |
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... | |
bool | contains (const label &val) const |
True if the value is contained in the list. More... | |
bool | contains (const label &val, label pos, label len=-1) const |
Is the value contained in the list? More... | |
label | find (const label &val) const |
Find index of the first occurrence of the value. More... | |
label | find (const label &val, label pos, label len=-1) 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... | |
void | resize (const label n) |
Dummy function, to make FixedList consistent with List Any resizing is ignored (Fatal with bad sizing in full debug). More... | |
void | resize_fill (const label n, const label &val) |
Set val for all elements. Any resizing is ignored (Fatal with bad sizing in full debug). More... | |
void | resize_nocopy (const label n) |
Dummy function, to make FixedList consistent with List Any resizing is ignored (Fatal with bad sizing in full debug). 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 UList< label > &list) |
Assignment to UList 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... | |
void | operator= (const label list[N]) |
Deprecated: assignment from C-array. 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... | |
bool | found (const label &val, label pos=0) const |
Same as contains() More... | |
Static Public Member Functions | |
static int | compare (const triFace &a, const triFace &b) |
Compare triFaces. More... | |
Static Public Member Functions inherited from FixedList< label, 3 > | |
static const FixedList< label, N > & | null () noexcept |
Return a null FixedList (reference to a nullObject). Read/write access is questionable. 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, 3 > | |
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, 3 > | |
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 vertex labels (-1)
Definition at line 56 of file triFaceI.H.
|
inlinenoexcept |
Construct from three vertex labels.
Definition at line 63 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and p0.
|
inlineexplicit |
Construct from an initializer list of three vertex labels.
Definition at line 75 of file triFaceI.H.
|
inlineexplicit |
Copy construct from a list of three vertex labels.
Definition at line 81 of file triFaceI.H.
|
inline |
Copy construct from a subset of vertex labels.
Definition at line 88 of file triFaceI.H.
Construct from Istream.
Definition at line 97 of file triFaceI.H.
|
inlinenoexcept |
The first vertex.
Definition at line 128 of file triFace.H.
Referenced by triFace::compare().
|
inlinenoexcept |
The second vertex.
Definition at line 133 of file triFace.H.
Referenced by triFace::compare().
|
inlinenoexcept |
True if vertices are unique and non-negative.
Definition at line 105 of file triFaceI.H.
References Foam::constant::physicoChemical::b, and Foam::constant::universal::c.
Referenced by triFace::valid().
|
inline |
'Collapse' face by marking duplicate vertex labels.
Duplicates vertex labels are marked with '-1' (the lower vertex is retained). Return the collapsed size.
Definition at line 116 of file triFaceI.H.
References n.
|
inline |
Flip the face in-place.
The starting vertex of the original and flipped face are identical.
Definition at line 143 of file triFaceI.H.
|
inline |
Return the points corresponding to this face.
Definition at line 149 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, p, and pts.
Referenced by triFace::FOAM_DEPRECATED_FOR().
|
inline |
Return triangle as a face.
Definition at line 161 of file triFaceI.H.
|
inline |
Return the triangle.
Definition at line 167 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and points.
Referenced by lumpedPointMovement::setInterpolator().
|
inline |
Return centre (centroid)
Definition at line 173 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, triangle< Point, PointRef >::centre(), and points.
Calculate average value at centroid of face.
Definition at line 27 of file triFaceTemplates.C.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and fld.
|
inline |
The area normal - with magnitude equal to area of face.
Definition at line 179 of file triFaceI.H.
References triangle< Point, PointRef >::areaNormal(), Foam::constant::physicoChemical::b, Foam::constant::universal::c, and points.
Referenced by triFace::FOAM_DEPRECATED_FOR().
|
inline |
The unit normal.
Definition at line 185 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, points, and triangle< Point, PointRef >::unitNormal().
Referenced by wallBoundedParticle::trackToEdge().
|
inline |
Legacy name for areaNormal()
Definition at line 223 of file triFace.H.
References triFace::areaNormal(), and triFace::points().
Magnitude of face area.
Definition at line 191 of file triFaceI.H.
References Foam::mag(), and points.
|
inline |
The enclosing (bounding) box for the face.
Definition at line 198 of file triFaceI.H.
References Foam::constant::physicoChemical::b, triangle< Point, PointRef >::box(), Foam::constant::universal::c, and points.
|
inlinenoexcept |
Number of triangles after splitting == 1.
Definition at line 204 of file triFaceI.H.
|
inline |
Return face with reverse direction.
The starting vertex of the original and reverse face are identical.
Definition at line 210 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and triFace().
|
inline |
Find local vertex on face for the vertex label, same as find()
Definition at line 217 of file triFaceI.H.
References FixedList< T, N >::find().
|
inline |
Next vertex on face.
Definition at line 229 of file triFaceI.H.
|
inline |
Previous vertex on face.
Definition at line 235 of file triFaceI.H.
|
inline |
The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel()
Definition at line 223 of file triFaceI.H.
Return swept-volume from old-points to new-points.
Definition at line 242 of file triFaceI.H.
|
inline |
Return the inertia tensor, with optional reference.
point and density specification
Definition at line 275 of file triFaceI.H.
References points.
|
inline |
Return point intersection with a ray starting at p, in direction q.
Definition at line 287 of file triFaceI.H.
|
inline |
|
inline |
Definition at line 314 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 338 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 350 of file triFaceI.H.
|
inlinenoexcept |
Return number of edges == 3.
Definition at line 360 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 366 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 373 of file triFaceI.H.
References pts.
|
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 382 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 392 of file triFaceI.H.
References pts.
|
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 404 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and UList< T >::first().
|
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 421 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and UList< T >::first().
|
inline |
True if face contains(edge)
Definition at line 482 of file triFaceI.H.
References Foam::constant::electromagnetic::e.
|
inline |
Find the edge within the face.
Definition at line 460 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and Foam::constant::electromagnetic::e.
|
inline |
Test the edge direction on the face.
Definition at line 438 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and Foam::constant::electromagnetic::e.
Compare triFaces.
Definition at line 27 of file triFaceI.H.
References triFace::a(), and triFace::b().
Referenced by Foam::operator!=(), and Foam::operator==().
|
inline |
Increment (offset) vertices by given amount.
Definition at line 491 of file triFaceI.H.
|
inline |
The (commutative) hash value for triFace.
Definition at line 484 of file triFace.H.
Referenced by triFace::hasher::operator()().
|
inlinenoexcept |
Same as good()
Definition at line 524 of file triFace.H.
References triFace::good().
|
inline |
Identical to edge()
Definition at line 529 of file triFace.H.
References triFace::edge().