A face is a list of labels corresponding to mesh vertices. More...
#include <face.H>


Classes | |
| struct | hasher |
| Hashing functor for face. More... | |
| struct | symmHasher |
| Symmetric hashing functor for face. More... | |
Public Types | |
| enum | proxType { NONE = 0 , POINT , EDGE } |
| The proximity classifications. More... | |
| Public Types inherited from List< label > | |
| typedef SubList< label > | subList |
| Declare type of subList. | |
| Public Types inherited from UList< label > | |
| typedef label | value_type |
| The value type the list contains. | |
| typedef label * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const label * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef label & | reference |
| The type used for storing into value_type objects. | |
| typedef const label & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef label * | iterator |
| Random access iterator for traversing a UList. | |
| typedef const label * | const_iterator |
| Random access iterator for traversing a UList. | |
| typedef label | size_type |
| The type to represent the size of a UList. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| Reverse iterator (non-const access). | |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| Reverse iterator (const access). | |
| using | is_List |
| Have unique tag. | |
Public Member Functions | |
| constexpr | face () noexcept=default |
| Default construct. | |
| face (const label sz) | |
| Construct given size, with invalid vertex labels (-1). | |
| face (const labelUList &list) | |
| Copy construct from list of vertex labels. | |
| face (labelList &&list) | |
| Move construct from list of vertex labels. | |
| face (std::initializer_list< label > list) | |
| Copy construct from an initializer list of vertex labels. | |
| template<unsigned N> | |
| face (const FixedList< label, N > &list) | |
| Copy construct from list of vertex labels. | |
| face (const labelUList &list, const labelUList &indices) | |
| Copy construct from subset of vertex labels. | |
| template<unsigned N> | |
| face (const labelUList &list, const FixedList< label, N > &indices) | |
| Copy construct from subset of vertex labels. | |
| face (const triFace &f) | |
| Copy construct from triFace. | |
| face (Istream &is) | |
| Construct from Istream. | |
| label | collapse () |
| Collapse face by removing duplicate vertex labels. | |
| void | flip () |
| Flip the face in-place. | |
| pointField | points (const UList< point > &pts) const |
| Return the points corresponding to this face. | |
| point | centre (const UList< point > &points) const |
| Centre point of face. | |
| point | average (const UList< point > &points) const |
| Average of face points: a quick estimate of the face centre. | |
| template<class Type> | |
| Type | average (const UList< point > &meshPoints, const Field< Type > &fld) const |
| Calculate average value at centroid of face. | |
| vector | areaNormal (const UList< point > &p) const |
| The area normal - with magnitude equal to area of face. | |
| vector | unitNormal (const UList< point > &p) const |
| The unit normal. | |
| FOAM_DEPRECATED_FOR (2018-12, "areaNormal() or unitNormal()") vector normal(const UList< point > &p) const | |
| Legacy name for areaNormal(). | |
| scalar | mag (const UList< point > &p) const |
| Magnitude of face area. | |
| scalar | magSqr (const UList< point > &p) const |
| Magnitude squared of face area. | |
| Pair< point > | box (const UList< point > &pts) const |
| The enclosing (bounding) box for the face. | |
| face | reverseFace () const |
| Return face with reverse direction. | |
| label | which (const label vertex) const |
| Find local vertex on face for the vertex label, same as find(). | |
| label | thisLabel (const label i) const |
| The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel(). | |
| label | nextLabel (const label i) const |
| Next vertex on face. | |
| label | prevLabel (const label i) const |
| Previous vertex on face. | |
| scalar | sweptVol (const UList< point > &oldPoints, const UList< point > &newPoints) const |
| Return the volume swept out by the face when its points move. | |
| tensor | inertia (const UList< point > &p, const point &refPt=vector::zero, scalar density=1.0) const |
| Return the inertia tensor, with optional reference point and density specification. | |
| pointHit | ray (const point &p, const vector &n, const UList< point > &meshPoints, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
| Return potential intersection with face with a ray starting at p, direction n (does not need to be normalized). | |
| pointHit | intersection (const point &p, const vector &q, const point &ctr, const UList< point > &meshPoints, const intersection::algorithm alg, const scalar tol=0.0) const |
| Fast intersection with a ray. | |
| pointHit | nearestPoint (const point &p, const UList< point > &meshPoints) const |
| Return nearest point to face. | |
| pointHit | nearestPointClassify (const point &p, const UList< point > &meshPoints, label &nearType, label &nearLabel) const |
| Return nearest point to face and classify it: | |
| int | sign (const point &p, const UList< point > &points, const scalar tol=SMALL) const |
| The sign for the side of the face plane the point is on, using three evenly distributed face points for the estimated normal. | |
| scalar | contactSphereDiameter (const point &p, const vector &n, const UList< point > &meshPoints) const |
| Return contact sphere diameter. | |
| scalar | areaInContact (const UList< point > &meshPoints, const scalarField &v) const |
| Return area in contact, given the displacement in vertices. | |
| label | nEdges () const noexcept |
| Return number of edges. | |
| Foam::edge | edge (const label edgei) const |
| Return i-th face edge (forward walk order). | |
| vector | edge (const label edgei, const UList< point > &pts) const |
| Return vector of i-th face edge (forward walk order). | |
| Foam::edge | rcEdge (const label edgei) const |
| Return i-th face edge in reverse walk order. | |
| vector | rcEdge (const label edgei, const UList< point > &pts) const |
| Return vector of i-th face edge in reverse walk order. | |
| edgeList | edges () const |
| Return list of edges in forward walk order. | |
| edgeList | rcEdges () const |
| Return list of edges in reverse walk order. | |
| bool | contains (const Foam::edge &e) const |
| True if face contains(edge). | |
| label | find (const Foam::edge &e) const |
| Find the edge within the face. | |
| int | edgeDirection (const Foam::edge &e) const |
| Test the edge direction on the face. | |
| label | longestEdge (const UList< point > &pts) const |
| Find the longest edge on a face. | |
| label | nTriangles () const noexcept |
| Number of triangles after splitting. | |
| label | nTriangles (const UList< point > &unused) const |
| Number of triangles after splitting. | |
| label | triangles (const UList< point > &points, label &triI, faceList &triFaces) const |
| Split into triangles using existing points. | |
| template<int SizeMin> | |
| label | triangles (const UList< point > &points, DynamicList< face, SizeMin > &triFaces) const |
| Split into triangles using existing points. | |
| label | nTrianglesQuads (const UList< point > &points, label &nTris, label &nQuads) const |
| Number of triangles and quads after splitting. | |
| label | trianglesQuads (const UList< point > &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const |
| Split into triangles and quads. | |
| bool | connected (const labelUList &other) const |
| True if the face has at least one vertex in common with other. | |
| template<unsigned N> | |
| bool | connected (const FixedList< label, N > &other) const |
| True if the face has at least one vertex in common with other. | |
| void | operator+= (const label vertexOffset) |
| Increment (offset) vertices by given amount. | |
| unsigned | hash_code (unsigned seed=0) const |
| The hash value for face. | |
| unsigned | symmhash_code (unsigned seed=0) const |
| The symmetric hash value for face. | |
| Foam::edge | faceEdge (label edgei) const |
| Identical to edge(). | |
| template<int SizeMin> | |
| Foam::label | triangles (const UList< point > &points, DynamicList< face, SizeMin > &triFaces) const |
| Public Member Functions inherited from List< label > | |
| constexpr | List () noexcept |
| Default construct. | |
| List (const label len) | |
| Construct with given size. | |
| List (const label len, const label &val) | |
| Construct with given size and value for all elements. | |
| List (const label len, Foam::zero) | |
| Construct with given size initializing all elements to zero. | |
| List (Foam::one, const label &val) | |
| Construct with length=1, copying the value as the only content. | |
| List (Foam::one, label &&val) | |
| Construct with length=1, moving the value as the only content. | |
| List (Foam::one, Foam::zero) | |
| Construct with length=1, initializing content to zero. | |
| List (const List< label > &list) | |
| Copy construct from list. | |
| List (const UList< label > &list) | |
| Copy construct contents from list. | |
| List (List< label > &list, bool reuse) | |
| Construct as copy or re-use as specified. | |
| List (const UList< label > &list, const labelUList &indices) | |
| Copy construct subset of list. | |
| List (const UList< label > &list, const FixedList< label, N > &indices) | |
| Copy construct subset of list. | |
| List (const FixedList< label, N > &list) | |
| Construct as copy of FixedList<T, N>. | |
| List (const UPtrList< label > &list) | |
| Construct as copy of UPtrList<T> content. | |
| List (const IndirectListBase< label, Addr > &list) | |
| Construct as copy of IndirectList contents. | |
| List (std::initializer_list< label > list) | |
| Construct from an initializer list. | |
| List (List< label > &&list) noexcept | |
| Move construct from List. | |
| List (DynamicList< label, SizeMin > &&list) | |
| Move construct from DynamicList. | |
| List (Istream &is) | |
| Construct from Istream. | |
| autoPtr< List< label > > | clone () const |
| Clone. | |
| ~List () | |
| Destructor. | |
| void | clear () |
| Clear the list, i.e. set size to zero. | |
| void | resize (const label len) |
| Adjust allocated size of list. | |
| void | resize (const label len, const label &val) |
| Adjust allocated size of list and set val for new elements. | |
| void | resize_copy (label count, const label len) |
| Change allocated size of list, retaining the first count elements. | |
| void | resize_fill (const label len, const label &val) |
| Adjust allocated size of list and set val for all elements. | |
| void | resize_nocopy (const label len) |
| Adjust allocated size of list without necessarily. | |
| void | transfer (List< label > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| void | transfer (DynamicList< label, SizeMin > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| label & | newElmt (const label i) |
| Return subscript-checked element of UList and resizing the list if required. | |
| label & | emplace_back (Args &&... args) |
| Construct an element at the end of the list, return reference to the new list element. | |
| void | push_back (const label &val) |
| Append an element at the end of the list. | |
| void | push_back (label &&val) |
| Move append an element at the end of the list. | |
| void | push_back (const UList< label > &list) |
| Append a List to the end of this list. | |
| void | push_back (const IndirectListBase< label, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | push_uniq (const label &val) |
| Append an element if not already in the list. | |
| void | pop_back (label n=1) |
| Reduce size by 1 or more elements. Can be called on an empty list. | |
| void | operator= (const UList< label > &list) |
| Assignment to UList operator. Takes linear time. | |
| void | operator= (const List< label > &list) |
| Assignment operator. Takes linear time. | |
| void | operator= (const IndirectListBase< label, Addr > &list) |
| Assignment from IndirectList. Takes linear time. | |
| void | operator= (const FixedList< label, N > &list) |
| Copy assignment from FixedList. | |
| void | operator= (std::initializer_list< label > list) |
| Assignment to an initializer list. | |
| void | operator= (const label &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| void | operator= (List< label > &&list) |
| Move assignment. Takes constant time. | |
| void | operator= (DynamicList< label, SizeMin > &&list) |
| Move assignment. Takes constant time. | |
| Istream & | readList (Istream &is) |
| Read List from Istream, discarding contents of existing List. | |
| void | shallowCopy (const UList< label > &)=delete |
| No shallowCopy permitted. | |
| bool | set (const label i, bool val=true) |
| A bitSet::set() method for a list of bool. | |
| void | append (const label &val) |
| Append an element at the end of the list. | |
| void | append (label &&val) |
| Move append an element at the end of the list. | |
| void | append (const UList< label > &list) |
| Append a List to the end of this list. | |
| void | append (const IndirectListBase< label, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | appendUniq (const label &val) |
| Same as push_uniq(). | |
| void | setSize (label n) |
| Alias for resize(). | |
| void | setSize (label n, const label &val) |
| Alias for resize(). | |
| List (const Expression::ListExpression< E > &expr) | |
| Construct from value expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| void | resize (const label len) |
| Public Member Functions inherited from UList< label > | |
| UList (const UList< label > &) noexcept=default | |
| Copy construct, shallow copy. | |
| UList (UList< label > &&) noexcept=default | |
| Move construct, shallow copy. | |
| UList< label > & | operator= (const UList< label > &)=delete |
| No copy assignment (default: shallow copy). | |
| UList< label > & | operator= (UList< label > &&) noexcept=default |
| Move assignment, shallow copy. | |
| constexpr | UList () noexcept |
| Default construct, zero-sized and nullptr. | |
| UList (label *__restrict__ ptr, const label len) noexcept | |
| Construct from components. | |
| UList (SubList< label > &&) noexcept | |
| Move construct from a SubList, shallow copy. | |
| label | fcIndex (const label i) const noexcept |
| The forward circular index. The next index in the list which returns to the first at the end of the list. | |
| label | rcIndex (const label i) const noexcept |
| The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. | |
| const label & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| label & | fcValue (const label i) |
| Return forward circular value (ie, next value in the list). | |
| const label & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| label & | rcValue (const label i) |
| Return reverse circular value (ie, previous value in the list). | |
| const label * | cdata () const noexcept |
| Return pointer to the underlying array serving as data storage. | |
| label * | data () noexcept |
| Return pointer to the underlying array serving as data storage. | |
| const char * | cdata_bytes () const noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| char * | data_bytes () noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| label & | front () |
| Access first element of the list, position [0]. | |
| const label & | front () const |
| Access first element of the list. | |
| label & | back () |
| Access last element of the list, position [size()-1]. | |
| const label & | back () const |
| Access last element of the list, position [size()-1]. | |
| std::streamsize | size_bytes () const noexcept |
| Number of contiguous bytes for the List data. | |
| std::streamsize | byteSize () const |
| Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. | |
| void | checkStart (const label start) const |
| Check start is within valid range [0,size). | |
| void | checkSize (const label size) const |
| Check size is within valid range [0,size]. | |
| void | checkRange (const label start, const label len) const |
| Check that start and length define a valid range. | |
| void | checkIndex (const label i) const |
| Check index is within valid range [0,size). | |
| bool | uniform () const |
| True if all entries have identical values, and list is non-empty. | |
| bool | contains (const label &val) const |
| True if the value is contained in the list. | |
| bool | contains (const label &val, label pos, label len=-1) const |
| Is the value contained in the list? | |
| label | find (const label &val) const |
| Find index of the first occurrence of the value. | |
| label | find (const label &val, label pos, label len=-1) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const label &val, label pos=-1) const |
| Find index of the last occurrence of the value. | |
| void | moveFirst (const label i) |
| Move element to the first position. | |
| void | moveLast (const label i) |
| Move element to the last position. | |
| void | swapFirst (const label i) |
| Swap element with the first element. Fatal on an empty list. | |
| void | swapLast (const label i) |
| Swap element with the last element. Fatal on an empty list. | |
| void | shallowCopy (label *__restrict__ ptr, const label len) noexcept |
| Copy the pointer and size. | |
| void | shallowCopy (std::nullptr_t) noexcept |
| Copy nullptr and zero size. | |
| void | shallowCopy (const UList< label > &list) noexcept |
| Copy the pointer and size held by the given UList. | |
| void | deepCopy (const UList< label > &list) |
| Copy elements of the given UList. Sizes must match! | |
| void | deepCopy (const IndirectListBase< label, Addr > &list) |
| Copy elements of the given indirect list. Sizes must match! | |
| SubList< label > | slice (const label pos, label len=-1) |
| Return SubList slice (non-const access) - no range checking. | |
| const SubList< label > | slice (const label pos, label len=-1) const |
| Return SubList slice (const access) - no range checking. | |
| SubList< label > | slice (const labelRange &range) |
| Return SubList slice (non-const access) - with range checking. | |
| const SubList< label > | slice (const labelRange &range) const |
| Return SubList slice (const access) - with range checking. | |
| label & | operator[] (const label i) |
| Return element of UList. | |
| const label & | operator[] (const label i) const |
| Return element of constant UList. | |
| operator const Foam::List< label > & () const | |
| Allow cast to a const List<T>&. | |
| void | operator= (const label &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| iterator | begin () noexcept |
| Return an iterator to begin traversing the UList. | |
| iterator | end () noexcept |
| Return an iterator to end traversing the UList. | |
| iterator | begin (const label i) noexcept |
| Return iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | cbegin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | cend () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | begin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | end () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | cbegin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | begin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| reverse_iterator | rbegin () |
| Return reverse_iterator to begin reverse traversing the UList. | |
| reverse_iterator | rend () |
| Return reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | crbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | crend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | rbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | rend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| bool | empty () const noexcept |
| True if List is empty (ie, size() is zero). | |
| label | size () const noexcept |
| The number of elements in the container. | |
| label | capacity () const noexcept |
| Size of the underlying storage. | |
| void | swap (UList< label > &list) noexcept |
| Swap content with another UList of the same type in constant time. | |
| bool | operator== (const UList< label > &list) const |
| Equality operation on ULists of the same type. | |
| bool | operator!= (const UList< label > &list) const |
| The opposite of the equality operation. Takes linear time. | |
| bool | operator< (const UList< label > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator> (const UList< label > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator<= (const UList< label > &list) const |
| Return true if !(a > b). Takes linear time. | |
| bool | operator>= (const UList< label > &list) const |
| Return true if !(a < b). Takes linear time. | |
| Istream & | readList (Istream &is) |
| Read List contents from Istream. | |
| void | writeEntry (const word &keyword, Ostream &os) const |
| Write the List as a dictionary entry with keyword. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write List, with line-breaks in ASCII when length exceeds shortLen. | |
| bool | all () const |
| True if all entries are 'true' or if the list is empty. | |
| bool | any () const |
| True if any entries are 'true'. | |
| bool | none () const |
| True if no entries are 'true'. | |
| bool | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. | |
| bool | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. | |
| bool | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. | |
| std::string_view | view () const |
| Return a string_view of the charList. Content is non-modifiable. | |
| label & | first () |
| Access first element of the list, position [0]. | |
| const label & | first () const |
| Access first element of the list. | |
| label & | last () |
| Access last element of the list, position [size()-1]. | |
| const label & | last () const |
| Access last element of the list, position [size()-1]. | |
| bool | found (const label &val, label pos=0) const |
| Same as contains(). | |
| auto | expr () const |
| Wrap value as expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| operator const Foam::List< label > & () const | |
| Allow cast to a const List<T>&. | |
Static Public Member Functions | |
| static int | compare (const face &a, const face &b) |
| Compare faces. | |
| static bool | sameVertices (const face &a, const face &b) |
| True if the faces have all the same vertices. | |
| static unsigned | symmhash_code (const UList< label > &f, unsigned seed=0) |
| The symmetric hash value for face. | |
| Static Public Member Functions inherited from List< label > | |
| static const List< label > & | null () noexcept |
| Return a null List (reference to a nullObject). Behaves like an empty List. | |
| Static Public Member Functions inherited from UList< label > | |
| static const UList< label > & | null () noexcept |
| Return a null UList (reference to a nullObject). Behaves like an empty UList. | |
| static constexpr label | max_size () noexcept |
| The size of the largest possible UList. | |
Static Public Attributes | |
| static const char *const | typeName = "face" |
Additional Inherited Members | |
| Protected Member Functions inherited from UList< label > | |
| void | setAddressableSize (const label n) noexcept |
| Set addressed size to be inconsistent with allocated storage. | |
| void | size (const label n) |
| Older name for setAddressableSize. | |
| void | writeEntry (Ostream &os) const |
| Write the UList with its compound type. | |
| labelRange | validateRange (const labelRange &requestedRange) const |
| Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. | |
| void | fill_uniform (const label &val) |
| Assign all entries to the given value. | |
| void | fill_uniform (Foam::zero) |
| Assign all entries to zero. | |
| enum proxType |
|
constexprdefaultnoexcept |
Default construct.
References areaNormal(), average(), centre(), collapse(), f(), face(), fld(), flip(), N(), Foam::noexcept, p, points(), pts, and unitNormal().
Referenced by areaInContact(), compare(), cellShape::face(), face(), nearestPointClassify(), face::hasher::operator()(), face::symmHasher::operator()(), referredWallFace::operator==(), oppositeFace::oppositeFace(), pTraits< face >::pTraits(), referredWallFace::referredWallFace(), referredWallFace::referredWallFace(), reverseFace(), sameVertices(), and triangles().


|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inline |
| face | ( | const triFace & | f | ) |
| Foam::label collapse | ( | ) |
Collapse face by removing duplicate vertex labels.
Definition at line 467 of file face.C.
References UList< label >::operator[](), setSize(), and UList< label >::size().
Referenced by face().


| void flip | ( | ) |
Flip the face in-place.
The starting vertex of the original and flipped face are identical.
Definition at line 492 of file face.C.
References n, and UList< label >::size().
Referenced by polyMeshAdder::add(), face(), and createShellMesh::setRefinement().


|
inline |
Return the points corresponding to this face.
Definition at line 80 of file faceI.H.
References p, pts, and UList< label >::size().
Referenced by areaNormal(), average(), deltaBoundary::cellCenters_d(), centre(), NURBS3DVolume::computeControlPointSensitivities(), NURBS3DVolume::computeControlPointSensitivities(), Bezier::dndbBasedSensitivities(), Bezier::dndbBasedSensitivities(), NURBS3DVolume::dndbBasedSensitivities(), Bezier::dxdbFace(), Bezier::dxdbFace(), face(), sensitivitySurfacePoints::finalisePointSensitivities(), nTrianglesQuads(), NURBS3DVolume::patchDxDbFace(), sign(), triangles(), triangles(), trianglesQuads(), and advancingFrontAMI::writeIntersectionOBJ().


| Foam::point centre | ( | const UList< point > & | points | ) | const |
Centre point of face.
Definition at line 506 of file face.C.
References Foam::average(), triangle< point, const point & >::centre(), Foam::mag(), nPoints, UList< label >::operator[](), points(), UList< label >::size(), and Foam::Zero.
Referenced by contactSphereDiameter(), face(), inertia(), nearestPointClassify(), and sweptVol().


|
inline |
Average of face points: a quick estimate of the face centre.
Definition at line 133 of file faceI.H.
References n, points(), UList< label >::size(), and Foam::Zero.
Referenced by face().


| Type average | ( | const UList< point > & | meshPoints, |
| const Field< Type > & | fld ) const |
Calculate average value at centroid of face.
Definition at line 45 of file faceTemplates.C.
References Foam::average(), fld(), Foam::mag(), nPoints, UList< label >::operator[](), UList< label >::size(), and Foam::Zero.

| Foam::vector areaNormal | ( | const UList< point > & | p | ) | const |
The area normal - with magnitude equal to area of face.
Definition at line 569 of file face.C.
References triangle< point, const point & >::areaNormal(), Foam::average(), n, nPoints, UList< label >::operator[](), points(), UList< label >::size(), and Foam::Zero.
Referenced by contactSphereDiameter(), face(), FOAM_DEPRECATED_FOR(), mag(), magSqr(), and unitNormal().


|
inline |
|
inline |
Legacy name for areaNormal().
Definition at line 251 of file face.H.
References areaNormal(), FOAM_DEPRECATED_FOR(), and p.
Referenced by FOAM_DEPRECATED_FOR().


Magnitude of face area.
Definition at line 105 of file faceI.H.
References areaNormal(), and p.
Referenced by areaInContact(), hexCellLooper::cut(), and cyclicACMIFvPatch::movePoints().


Magnitude squared of face area.
Definition at line 111 of file faceI.H.
References areaNormal(), and p.

|
inline |
The enclosing (bounding) box for the face.
Definition at line 118 of file faceI.H.
References Pair< T >::first(), Foam::max(), Foam::min(), pts, VectorSpace< Form, Cmpt, Ncmpts >::rootMax, VectorSpace< Form, Cmpt, Ncmpts >::rootMin, and Pair< T >::second().

| Foam::face reverseFace | ( | ) | const |
Return face with reverse direction.
The starting vertex of the original and reverse face are identical.
Definition at line 612 of file face.C.
References face(), and UList< T >::size().
Referenced by addPatchCellLayer::setRefinement(), and perfectInterface::setRefinement().


|
inline |
Find local vertex on face for the vertex label, same as find().
Definition at line 196 of file faceI.H.
References UList< label >::find().

|
inline |
The vertex on face - identical to operator[], but with naming similar to nextLabel(), prevLabel().
Definition at line 202 of file faceI.H.
References UList< label >::operator[]().
Referenced by edge(), edge(), rcEdge(), and rcEdge().


|
inline |
Next vertex on face.
Definition at line 208 of file faceI.H.
References UList< label >::fcValue().
Referenced by edge(), edge(), edgeDirection(), find(), combineFaces::getOutsideFace(), boundaryCutter::setRefinement(), and tetDecomposer::setRefinement().


|
inline |
Previous vertex on face.
Definition at line 214 of file faceI.H.
References UList< label >::rcValue().
Referenced by edgeDirection(), find(), rcEdge(), rcEdge(), and tetDecomposer::setRefinement().


Return the volume swept out by the face when its points move.
Definition at line 634 of file face.C.
References centre(), nPoints, pi(), UList< label >::size(), and triangle< Point, PointRef >::sweptVol().

| Foam::tensor inertia | ( | const UList< point > & | p, |
| const point & | refPt = vector::zero, | ||
| scalar | density = 1.0 ) const |
Return the inertia tensor, with optional reference point and density specification.
Definition at line 713 of file face.C.
References centre(), UList< label >::fcIndex(), forAll, triangle< Point, PointRef >::inertia(), p, UList< label >::size(), and Foam::Zero.

| Foam::pointHit ray | ( | const point & | p, |
| const vector & | n, | ||
| const UList< point > & | meshPoints, | ||
| const intersection::algorithm | alg = intersection::FULL_RAY, | ||
| const intersection::direction | dir = intersection::VECTOR ) const |
Return potential intersection with face with a ray starting at p, direction n (does not need to be normalized).
Does face-centre decomposition and returns triangle intersection point closest to p. Face-centre is calculated from point average. For a hit, the distance is signed. Positive number represents the point in front of triangle In case of miss the point is the nearest point on the face and the distance is the distance between the intersection point and the original point. The half-ray or full-ray intersection and the contact sphere adjustment of the projection vector is set by the intersection parameters
Definition at line 29 of file faceIntersection.C.
References Foam::average(), Vector< Cmpt >::dist(), PointHit< PointType >::distance(), PointHit< PointType >::eligibleMiss(), f(), UList< label >::fcIndex(), PointHit< PointType >::hit(), PointHit< PointType >::hitPoint(), Foam::mag(), n, nPoints, p, PointHit< PointType >::point(), points, triangle< Point, PointRef >::ray(), PointHit< PointType >::setDistance(), PointHit< PointType >::setMiss(), PointHit< PointType >::setPoint(), and UList< label >::size().

| Foam::pointHit intersection | ( | const point & | p, |
| const vector & | q, | ||
| const point & | ctr, | ||
| const UList< point > & | meshPoints, | ||
| const intersection::algorithm | alg, | ||
| const scalar | tol = 0.0 ) const |
Fast intersection with a ray.
Does face-centre decomposition and returns triangle intersection point closest to p. See triangle::intersection for details.
Definition at line 129 of file faceIntersection.C.
References PointHit< PointType >::distance(), f(), UList< label >::fcIndex(), forAll, PointHit< PointType >::hit(), PointHit< PointType >::hitPoint(), triangle< Point, PointRef >::intersection(), Foam::mag(), p, PointHit< PointType >::point(), PointHit< PointType >::setDistance(), and UList< label >::size().
Referenced by areaInContact().


| Foam::pointHit nearestPoint | ( | const point & | p, |
| const UList< point > & | meshPoints ) const |
Return nearest point to face.
Definition at line 186 of file faceIntersection.C.
References nearestPointClassify(), and p.

| Foam::pointHit nearestPointClassify | ( | const point & | p, |
| const UList< point > & | meshPoints, | ||
| label & | nearType, | ||
| label & | nearLabel ) const |
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 200 of file faceIntersection.C.
References centre(), PointHit< PointType >::distance(), EDGE, triangle< point, const point & >::EDGE, f(), face(), UList< label >::fcIndex(), PointHit< PointType >::hit(), PointHit< PointType >::hitPoint(), Foam::mag(), triangle< Point, PointRef >::nearestPointClassify(), NONE, nPoints, p, POINT, triangle< point, const point & >::POINT, PointHit< PointType >::point(), PointHit< PointType >::setDistance(), PointHit< PointType >::setMiss(), PointHit< PointType >::setPoint(), and UList< label >::size().
Referenced by nearestPoint().


The sign for the side of the face plane the point is on, using three evenly distributed face points for the estimated normal.
Uses the supplied tolerance for rounding around zero.
Definition at line 300 of file faceIntersection.C.
References p, points(), triangle< Point, PointRef >::sign(), and UList< label >::size().

| Foam::scalar contactSphereDiameter | ( | const point & | p, |
| const vector & | n, | ||
| const UList< point > & | meshPoints ) const |
Return contact sphere diameter.
Definition at line 29 of file faceContactSphere.C.
References areaNormal(), centre(), Foam::mag(), n, and p.

| Foam::scalar areaInContact | ( | const UList< point > & | meshPoints, |
| const scalarField & | v ) const |
Return area in contact, given the displacement in vertices.
Definition at line 27 of file faceAreaInContact.C.
References face(), faceLabels(), forAll, intersection(), mag(), List< T >::setSize(), UList< T >::size(), and UList< label >::size().

|
inlinenoexcept |
Return number of edges.
Definition at line 151 of file faceI.H.
References Foam::noexcept, and UList< label >::size().
Referenced by rcEdge(), and rcEdge().


|
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 158 of file faceI.H.
References nextLabel(), and thisLabel().
Referenced by Foam::checkFireEdges(), faceEdge(), and tetDecomposer::setRefinement().


|
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 164 of file faceI.H.
References nextLabel(), pts, and thisLabel().

|
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 174 of file faceI.H.
References nEdges(), prevLabel(), and thisLabel().

|
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 183 of file faceI.H.
References nEdges(), prevLabel(), pts, and thisLabel().

| Foam::edgeList edges | ( | ) | const |
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 749 of file face.C.
References UList< T >::back(), Pair< T >::first(), UList< T >::first(), UList< T >::front(), Pair< T >::second(), and UList< T >::size().
Referenced by Foam::polyMeshZipUpCells().


| Foam::edgeList rcEdges | ( | ) | const |
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 770 of file face.C.
References UList< T >::back(), Pair< T >::first(), UList< T >::first(), UList< T >::front(), Pair< T >::second(), and UList< T >::size().

|
inline |
True if face contains(edge).
Definition at line 253 of file faceI.H.
References e, and edgeDirection().

| Foam::label find | ( | const Foam::edge & | e | ) | const |
Find the edge within the face.
Definition at line 791 of file face.C.
References e, UList< label >::find(), nextLabel(), prevLabel(), and UList< label >::rcIndex().
Referenced by primitiveMesh::checkCommonOrder(), boundaryCutter::setRefinement(), and tetDecomposer::setRefinement().


| int edgeDirection | ( | const Foam::edge & | e | ) | const |
Test the edge direction on the face.
Definition at line 816 of file face.C.
References e, UList< label >::find(), nextLabel(), and prevLabel().
Referenced by contains().


Find the longest edge on a face.
Definition at line 885 of file face.C.
References UList< T >::back(), UList< T >::front(), pts, and UList< T >::size().

|
inlinenoexcept |
Number of triangles after splitting.
Definition at line 220 of file faceI.H.
References Foam::noexcept, and UList< label >::size().
Referenced by nTriangles(), and triangles().


Number of triangles after splitting.
Definition at line 838 of file face.C.
References nTriangles().

Split into triangles using existing points.
Result in triFaces[triI..triI+nTri]. Splits intelligently to maximize triangle quality. \Return number of faces created.
Definition at line 844 of file face.C.
References points(), and split().
Referenced by triangles().


| label triangles | ( | const UList< point > & | points, |
| DynamicList< face, SizeMin > & | triFaces ) const |
Split into triangles using existing points.
Append to DynamicList. \Return number of faces created.
References b, compare(), connected(), f(), face(), N(), nTrianglesQuads(), points(), sameVertices(), symmhash_code(), triangles(), and trianglesQuads().

Number of triangles and quads after splitting.
Returns the sum of both
Definition at line 858 of file face.C.
References points(), and split().
Referenced by triangles().


| Foam::label trianglesQuads | ( | const UList< point > & | points, |
| label & | triI, | ||
| label & | quadI, | ||
| faceList & | triFaces, | ||
| faceList & | quadFaces ) const |
Split into triangles and quads.
Results in triFaces (starting at triI) and quadFaces (starting at quadI). Returns number of new faces created.
Definition at line 872 of file face.C.
References points(), and split().
Referenced by triangles().


|
inline |
True if the face has at least one vertex in common with other.
Definition at line 226 of file faceI.H.
References UList< T >::contains().
Referenced by triangles().


True if the face has at least one vertex in common with other.
Definition at line 240 of file faceI.H.
References FixedList< T, N >::contains().

Compare faces.
Definition at line 273 of file face.C.
References CirculatorBase::ANTICLOCKWISE, b, CirculatorIters< Container, Const >::circulate(), CirculatorBase::CLOCKWISE, face(), CirculatorIters< Container, Const >::setFulcrumToIterator(), CirculatorIters< Container, Const >::setIteratorToFulcrum(), and UList< T >::size().
Referenced by Foam::operator!=(), Foam::operator==(), and triangles().


True if the faces have all the same vertices.
Definition at line 374 of file face.C.
References b, face(), forAll, and UList< T >::size().
Referenced by blockFace::compare(), and triangles().


|
inline |
|
static |
The symmetric hash value for face.
Starts with lowest vertex value and walks in the direction of the next lowest value.
Definition at line 414 of file face.C.
References f().
Referenced by face::symmHasher::operator()(), symmhash_code(), and triangles().


|
inline |
The hash value for face.
Currently hashes as sequential contiguous data, but could/should be commutative
Definition at line 641 of file face.H.
References UList< label >::cdata(), hash_code(), Foam::Hasher(), and UList< label >::size_bytes().
Referenced by hash_code(), and face::hasher::operator()().


|
inline |
The symmetric hash value for face.
Starts with lowest vertex value and walks in the direction of the next lowest value.
Definition at line 652 of file face.H.
References symmhash_code().

|
inline |
| Foam::label triangles | ( | const UList< point > & | points, |
| DynamicList< face, SizeMin > & | triFaces ) const |
Definition at line 27 of file faceTemplates.C.
References nTriangles(), points(), DynamicList< T, SizeMin >::setSize(), and UList< T >::size().
