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... | |
bool | valid () const |
Return true if the vertices are unique and non-negative. 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... | |
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 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 Public Member Functions inherited from FixedList< label, 3 > | |
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, 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 point labels (-1)
Definition at line 65 of file triFaceI.H.
|
inline |
|
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 96 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 |
Return true if the vertices are unique and non-negative.
Definition at line 114 of file triFaceI.H.
|
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 125 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 152 of file triFaceI.H.
|
inline |
Return the points corresponding to this face.
Definition at line 158 of file triFaceI.H.
References p.
|
inline |
Return triangle as a face.
Definition at line 170 of file triFaceI.H.
|
inline |
|
inline |
Calculate average value at centroid of face.
Definition at line 33 of file triFaceTemplates.C.
References fld().
|
inline |
The area normal - with magnitude equal to area of face.
Definition at line 198 of file triFaceI.H.
References points.
|
inline |
The unit normal.
Definition at line 209 of file triFaceI.H.
References Foam::mag(), n, points, s(), and Foam::Zero.
Referenced by wallBoundedParticle::trackToEdge().
|
inline |
Legacy name for areaNormal()
|
inlinenoexcept |
Number of triangles after splitting == 1.
Definition at line 223 of file triFaceI.H.
|
inline |
Return face with reverse direction.
The starting points of the original and reverse face are identical.
Definition at line 229 of file triFaceI.H.
|
inline |
Find local index on face for the point label, same as find()
Definition at line 236 of file triFaceI.H.
References FixedList< T, N >::find().
|
inline |
Next vertex on face.
Definition at line 248 of file triFaceI.H.
|
inline |
Previous vertex on face.
Definition at line 254 of file triFaceI.H.
|
inline |
The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel()
Definition at line 242 of file triFaceI.H.
Return swept-volume from old-points to new-points.
Definition at line 260 of file triFaceI.H.
|
inline |
Return the inertia tensor, with optional reference.
point and density specification
Definition at line 293 of file triFaceI.H.
References points.
|
inline |
Return point intersection with a ray starting at p, in direction q.
Definition at line 305 of file triFaceI.H.
References p, points, and plane::ray::ray().
|
inline |
|
inline |
Definition at line 332 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 356 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 368 of file triFaceI.H.
References p, points, and complex::sign.
|
inlinenoexcept |
Return number of edges == 3.
Definition at line 379 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 385 of file triFaceI.H.
|
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 391 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 401 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 410 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 423 of file triFaceI.H.
References 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 440 of file triFaceI.H.
References UList< T >::first().
|
inline |
Test the edge direction on the face.
Definition at line 457 of file triFaceI.H.
References e, and UList< T >::first().
Compare triFaces.
Definition at line 36 of file triFaceI.H.
References b.
Referenced by Foam::operator!=(), and Foam::operator==().
|
inline |
The (commutative) hash value for triFace.
Definition at line 326 of file triFace.H.
Referenced by triFace::hasher::operator()().
|
inline |