The OpenFOAM Foundation
triFace Class Reference

A triangular face using a FixedList of labels corresponding to mesh vertices. More...

Inheritance diagram for triFace:
Collaboration diagram for triFace:

## 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 initializer 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 labelcdata () const
Return a const pointer to the first data element,. More...

labeldata ()
Return a pointer to the first data element,. More...

labelfirst ()
Return the first element of the list. More...

const labelfirst () const
Return first element of the list. More...

labellast ()
Return the last element of the list. More...

const labellast () 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...

labeloperator[] (const label)
Return element of FixedList. More...

const labeloperator[] (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 initializer 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 &)

Public Types inherited from FixedList< label, 3 >
typedef label value_type
Type of values the FixedList contains. More...

typedef labelreference
Type that can be used for storing into. More...

typedef const labelconst_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 labeliterator
Random access iterator for traversing FixedList. More...

typedef const labelconst_iterator
Random access iterator for traversing FixedList. More...

typedef labelreverse_iterator
Reverse iterator for reverse traversal of FixedList. More...

typedef const labelconst_reverse_iterator
Reverse iterator for reverse traversal of constant FixedList. More...

## Detailed Description

A triangular face using a FixedList of labels corresponding to mesh vertices.

Foam::face, Foam::triangle
Source files

Definition at line 68 of file triFace.H.

## ◆ triFace() [1/4]

 triFace ( )
inline

Construct null.

Definition at line 64 of file triFaceI.H.

Referenced by triFace::reverseFace().

Here is the caller graph for this function:

## ◆ triFace() [2/4]

 triFace ( const label a, const label b, const label c )
inline

Construct from three point labels.

Definition at line 69 of file triFaceI.H.

Here is the call graph for this function:

## ◆ triFace() [3/4]

 triFace ( const labelUList & lst )
inlineexplicit

Construct from a list of labels.

Definition at line 81 of file triFaceI.H.

## ◆ triFace() [4/4]

 triFace ( Istream & is )
inline

Construct from Istream.

Definition at line 87 of file triFaceI.H.

## ◆ collapse()

 Foam::label collapse ( )
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[]().

Here is the call graph for this function:

## ◆ flip()

 void flip ( )
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().

Here is the call graph for this function:

## ◆ points()

 Foam::pointField points ( const pointField & points ) const
inline

Return the points corresponding to this face.

Definition at line 128 of file triFaceI.H.

References FixedList< label, 3 >::operator[](), and p.

Here is the call graph for this function:

## ◆ triFaceFace()

 Foam::face triFaceFace ( ) const
inline

Return triangle as a face.

Definition at line 140 of file triFaceI.H.

References f(), and FixedList< label, 3 >::operator[]().

Referenced by NamedEnum< directionType, 3 >::names().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ tri()

 Foam::triPointRef tri ( const pointField & points ) const
inline

Return the triangle.

Definition at line 152 of file triFaceI.H.

Here is the caller graph for this function:

## ◆ centre()

 Foam::point centre ( const pointField & points ) const
inline

Return centre (centroid)

Definition at line 163 of file triFaceI.H.

References FixedList< label, 3 >::operator[]().

Here is the call graph for this function:

## ◆ average()

 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.

## ◆ area()

 Foam::vector area ( const pointField & points ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ mag()

 Foam::scalar mag ( const pointField & points ) const
inline

Return scalar magnitude.

Definition at line 184 of file triFaceI.H.

References triFace::area(), and Foam::mag().

Here is the call graph for this function:

## ◆ normal()

 Foam::vector normal ( const pointField & points ) const
inline

Return unit normal.

Definition at line 190 of file triFaceI.H.

References triFace::area(), Foam::mag(), and Foam::Zero.

Here is the call graph for this function:

## ◆ nTriangles()

 Foam::label nTriangles ( ) const
inline

Number of triangles after splitting.

Definition at line 198 of file triFaceI.H.

## ◆ reverseFace()

 Foam::triFace reverseFace ( ) const
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().

Here is the call graph for this function:

## ◆ sweptVol()

 Foam::scalar sweptVol ( const pointField & oldPoints, const pointField & newPoints ) const
inline

Return swept-volume.

Definition at line 212 of file triFaceI.H.

References triFace::inertia(), and FixedList< label, 3 >::operator[]().

Referenced by triFace::reverseFace().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ inertia()

 Foam::tensor inertia ( const pointField & points, const point & refPt = `vector::zero`, scalar density = `1.0` ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ ray()

 Foam::pointHit ray ( const point & p, const vector & q, const pointField & points, const intersection::algorithm alg = `intersection::algorithm::fullRay`, const intersection::direction dir = `intersection::direction::vector` ) const
inline

Return point intersection with a ray starting at p,.

with direction q.

Definition at line 257 of file triFaceI.H.

Referenced by triFace::inertia().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ intersection() [1/2]

 Foam::pointHit intersection ( const point & p, const vector & q, const pointField & points, const intersection::algorithm alg, const scalar tol = `0.0` ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ intersection() [2/2]

 Foam::pointHit intersection ( const point & p, const vector & q, const point & ctr, const pointField & points, const intersection::algorithm alg, const scalar tol = `0.0` ) const
inline

Definition at line 284 of file triFaceI.H.

References triFace::intersection(), and triFace::nearestPoint().

Here is the call graph for this function:

## ◆ nearestPoint()

 Foam::pointHit nearestPoint ( const point & p, const pointField & points ) const
inline

Return nearest point to face.

Definition at line 298 of file triFaceI.H.

Referenced by triFace::intersection().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ nearestPointClassify()

 Foam::pointHit nearestPointClassify ( const point & p, const pointField & points, label & nearType, label & nearLabel ) const
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.

Referenced by triFace::nearestPoint().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ nEdges()

 Foam::label nEdges ( ) const
inline

Return number of edges.

Definition at line 319 of file triFaceI.H.

## ◆ edges()

 Foam::edgeList edges ( ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ faceEdge()

 Foam::edge faceEdge ( const label n ) const
inline

Return n-th face edge.

Definition at line 342 of file triFaceI.H.

References FixedList< label, 3 >::fcIndex().

Here is the call graph for this function:

## ◆ edgeDirection()

 int edgeDirection ( const edge & e ) const
inline

Return the edge direction on the face.

Returns:

• +1: forward (counter-clockwise) on the face
• -1: reverse (clockwise) on the face

Definition at line 352 of file triFaceI.H.

References edge::end(), FixedList< label, 3 >::operator[](), and edge::start().

Referenced by Foam::checkNonManifoldEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ compare()

 int compare ( const triFace & a, const triFace & b )
inlinestatic

Compare triFaces.

Returns:

• 0: different
• +1: identical
• -1: same face, but different orientation

Definition at line 33 of file triFaceI.H.

Referenced by Foam::operator!=(), and Foam::operator==().

Here is the caller graph for this function:

## ◆ operator==

 bool operator== ( const triFace & , const triFace & )
friend

## ◆ operator!=

 bool operator!= ( const triFace & , const triFace & )
friend

The documentation for this class was generated from the following files: