A triangular face using a FixedList of labels corresponding to mesh vertices. More...
Public Member Functions | |
triFace () | |
Construct null. More... | |
triFace (const label a, const label b, const label c) | |
Construct from three point labels. More... | |
triFace (const labelUList &) | |
Construct from a list of labels. More... | |
triFace (Istream &) | |
Construct from Istream. More... | |
label | collapse () |
Collapse face by removing duplicate point labels. More... | |
void | flip () |
Flip the face in-place. More... | |
pointField | points (const pointField &) const |
Return the points corresponding to this face. More... | |
face | triFaceFace () const |
Return triangle as a face. More... | |
triPointRef | tri (const pointField &) const |
Return the triangle. More... | |
point | centre (const pointField &) const |
Return centre (centroid) More... | |
template<class Type > | |
Type | average (const pointField &, const Field< Type > &) const |
Calculate average value at centroid of face. More... | |
vector | area (const pointField &) const |
Return vector area. More... | |
scalar | mag (const pointField &) const |
Return scalar magnitude. More... | |
vector | normal (const pointField &) const |
Return unit normal. More... | |
label | nTriangles () const |
Number of triangles after splitting. More... | |
triFace | reverseFace () const |
Return face with reverse direction. More... | |
scalar | sweptVol (const pointField &oldPoints, const pointField &newPoints) const |
Return swept-volume. More... | |
tensor | inertia (const pointField &, 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 pointField &points, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction dir=intersection::direction::vector) const |
Return point intersection with a ray starting at p,. More... | |
pointHit | intersection (const point &p, const vector &q, const pointField &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 pointField &points, const intersection::algorithm alg, const scalar tol=0.0) const |
pointHit | nearestPoint (const point &p, const pointField &points) const |
Return nearest point to face. More... | |
pointHit | nearestPointClassify (const point &p, const pointField &points, label &nearType, label &nearLabel) const |
Return nearest point to face and classify it: More... | |
label | nEdges () const |
Return number of edges. More... | |
edgeList | edges () const |
Return edges in face point ordering,. More... | |
edge | faceEdge (const label n) const |
Return n-th face edge. More... | |
int | edgeDirection (const edge &) const |
Return the edge direction on the face. More... | |
Public Member Functions inherited from FixedList< label, 3 > | |
FixedList () | |
Null constructor. More... | |
FixedList (const label &) | |
Construct from value. More... | |
FixedList (const label v[Size]) | |
Construct from C-array. More... | |
FixedList (InputIterator first, InputIterator last) | |
Construct given start and end iterators. More... | |
FixedList (std::initializer_list< label >) | |
Construct from an initialiser list. More... | |
FixedList (const UList< label > &) | |
Construct from UList. More... | |
FixedList (const SLList< label > &) | |
Construct from SLList. More... | |
FixedList (Istream &) | |
Construct from Istream. More... | |
autoPtr< FixedList< label, Size > > | clone () const |
Clone. More... | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. More... | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. More... | |
const label * | cdata () const |
Return a const pointer to the first data element,. More... | |
label * | data () |
Return a pointer to the first data element,. More... | |
label & | first () |
Return the first element of the list. More... | |
const label & | first () const |
Return first element of the list. More... | |
label & | last () |
Return the last element of the list. More... | |
const label & | last () const |
Return the last element of the list. More... | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1) More... | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size) More... | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1) More... | |
void | resize (const label) |
Dummy resize function. More... | |
void | setSize (const label) |
Dummy setSize function. More... | |
void | transfer (const FixedList< label, Size > &) |
Copy (not transfer) the argument contents. More... | |
label & | operator[] (const label) |
Return element of FixedList. More... | |
const label & | operator[] (const label) const |
Return element of constant FixedList. More... | |
void | operator= (const label v[Size]) |
Assignment to array operator. Takes linear time. More... | |
void | operator= (const UList< label > &) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const SLList< label > &) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (std::initializer_list< label >) |
Assignment to an initialiser list. Takes linear time. More... | |
void | operator= (const label &) |
Assignment of all entries to the given value. More... | |
iterator | begin () |
Return an iterator to begin traversing the FixedList. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant FixedList. More... | |
iterator | end () |
Return an iterator to end traversing the FixedList. More... | |
const_iterator | end () const |
Return const_iterator to end traversing the constant FixedList. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant FixedList. More... | |
const_iterator | cend () const |
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... | |
label | size () const |
Return the number of elements in the FixedList. More... | |
label | max_size () const |
Return size of the largest possible FixedList. More... | |
bool | empty () const |
Return true if the FixedList is empty (ie, size() is zero) More... | |
void | swap (FixedList< label, Size > &) |
Swap two FixedLists of the same type in constant time. More... | |
bool | operator== (const FixedList< label, Size > &) const |
Equality operation on FixedLists of the same type. More... | |
bool | operator!= (const FixedList< label, Size > &) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const FixedList< label, Size > &) const |
Compare two FixedLists lexicographically. Takes linear time. More... | |
bool | operator> (const FixedList< label, Size > &) const |
Compare two FixedLists lexicographically. Takes linear time. More... | |
bool | operator<= (const FixedList< label, Size > &) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const FixedList< label, Size > &) const |
Return true if !(a < b). Takes linear time. More... | |
Static Public Member Functions | |
static int | compare (const triFace &, const triFace &) |
Compare triFaces. More... | |
Static Public Member Functions inherited from FixedList< label, 3 > | |
static const FixedList< label, Size > & | null () |
Return a null FixedList. More... | |
Friends | |
bool | operator== (const triFace &, const triFace &) |
bool | operator!= (const triFace &, const triFace &) |
Additional Inherited Members | |
Public Types inherited from FixedList< label, 3 > | |
typedef label | value_type |
Type of values the FixedList contains. More... | |
typedef label & | reference |
Type that can be used for storing into. More... | |
typedef const label & | const_reference |
Type that can be used for storing into. More... | |
typedef label | difference_type |
The type that can represent the difference between any two. More... | |
typedef label | size_type |
The type that can represent the size of a FixedList. More... | |
typedef label * | iterator |
Random access iterator for traversing FixedList. More... | |
typedef const label * | const_iterator |
Random access iterator for traversing FixedList. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator for reverse traversal of FixedList. More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator for reverse traversal of constant FixedList. More... | |
A triangular face using a FixedList of labels corresponding to mesh vertices.
|
inline |
Construct null.
Definition at line 64 of file triFaceI.H.
Referenced by triFace::reverseFace().
Construct from three point labels.
Definition at line 69 of file triFaceI.H.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, and FixedList< label, 3 >::operator[]().
|
inlineexplicit |
Construct from a list of labels.
Definition at line 81 of file triFaceI.H.
Construct from Istream.
Definition at line 87 of file triFaceI.H.
|
inline |
Collapse face by removing duplicate point labels.
return the collapsed size, set collapsed point labels to -1
Definition at line 95 of file triFaceI.H.
References n, and FixedList< label, 3 >::operator[]().
|
inline |
Flip the face in-place.
The starting points of the original and flipped face are identical.
Definition at line 122 of file triFaceI.H.
References Foam::Swap().
|
inline |
Return the points corresponding to this face.
Definition at line 128 of file triFaceI.H.
References FixedList< label, 3 >::operator[](), and p.
|
inline |
Return triangle as a face.
Definition at line 140 of file triFaceI.H.
References f(), and FixedList< label, 3 >::operator[]().
Referenced by NamedEnum< compressibleField, 8 >::names().
|
inline |
Return the triangle.
Definition at line 152 of file triFaceI.H.
Referenced by triSurfaceTools::calcInterpolationWeights(), triFace::inertia(), triFace::intersection(), triFace::nearestPoint(), triFace::nearestPointClassify(), and triFace::ray().
|
inline |
Return centre (centroid)
Definition at line 163 of file triFaceI.H.
References FixedList< label, 3 >::operator[]().
Type average | ( | const pointField & | meshPoints, |
const Field< Type > & | fld | ||
) | const |
Calculate average value at centroid of face.
Definition at line 32 of file triFaceTemplates.C.
|
inline |
Return vector area.
Definition at line 174 of file triFaceI.H.
References FixedList< label, 3 >::operator[]().
Referenced by triSurface::curvature(), triFace::mag(), triFace::normal(), and triSurface::triSurfInstance().
|
inline |
Return scalar magnitude.
Definition at line 184 of file triFaceI.H.
References triFace::area(), and Foam::mag().
|
inline |
Return unit normal.
Definition at line 190 of file triFaceI.H.
References triFace::area(), Foam::mag(), and Foam::Zero.
|
inline |
Number of triangles after splitting.
Definition at line 198 of file triFaceI.H.
|
inline |
Return face with reverse direction.
The starting points of the original and reverse face are identical.
Definition at line 204 of file triFaceI.H.
References triFace::sweptVol(), and triFace::triFace().
|
inline |
Return swept-volume.
Definition at line 212 of file triFaceI.H.
References triFace::inertia(), and FixedList< label, 3 >::operator[]().
Referenced by triFace::reverseFace().
|
inline |
Return the inertia tensor, with optional reference.
point and density specification
Definition at line 245 of file triFaceI.H.
References triangle< Point, PointRef >::inertia(), triFace::ray(), and triFace::tri().
Referenced by triFace::sweptVol().
|
inline |
Return point intersection with a ray starting at p,.
with direction q.
Definition at line 257 of file triFaceI.H.
References triFace::intersection(), triangle< Point, PointRef >::ray(), and triFace::tri().
Referenced by triFace::inertia().
|
inline |
Fast intersection with a ray.
Definition at line 271 of file triFaceI.H.
References triangle< Point, PointRef >::intersection(), and triFace::tri().
Referenced by triFace::intersection(), and triFace::ray().
|
inline |
Definition at line 284 of file triFaceI.H.
References triFace::intersection(), and triFace::nearestPoint().
|
inline |
Return nearest point to face.
Definition at line 298 of file triFaceI.H.
References triangle< Point, PointRef >::nearestPoint(), triFace::nearestPointClassify(), and triFace::tri().
Referenced by triFace::intersection().
|
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 308 of file triFaceI.H.
References triangle< Point, PointRef >::nearestPointClassify(), and triFace::tri().
Referenced by triFace::nearestPoint().
|
inline |
Return number of edges.
Definition at line 319 of file triFaceI.H.
|
inline |
Return edges in face point ordering,.
i.e. edges()[0] is edge between [0] and [1]
Definition at line 325 of file triFaceI.H.
References Foam::e, UList< T >::end(), and FixedList< label, 3 >::operator[]().
Referenced by triSurface::curvature().
|
inline |
Return n-th face edge.
Definition at line 342 of file triFaceI.H.
References FixedList< label, 3 >::fcIndex().
|
inline |
Return the edge direction on the face.
Returns:
Definition at line 352 of file triFaceI.H.
References edge::end(), FixedList< label, 3 >::operator[](), and edge::start().
Referenced by Foam::checkNonManifoldEdge().
Compare triFaces.
Returns:
Definition at line 33 of file triFaceI.H.
Referenced by Foam::operator!=(), and Foam::operator==().