OpenFOAM logo
The Open Source CFD Toolbox
  Source Guide OpenCFD Solutions Contact OpenFOAM

face Class Reference

A face is a list of labels corresponding to mesh vertices. More...

Inheritance diagram for face:
Collaboration diagram for face:

List of all members.


Public Member Functions

 face ()
 Construct null.
 face (label)
 Construct given size.
 face (const UList< label > &)
 Construct from list of labels.
 face (const labelList &)
 Construct from list of labels.
 face (const Xfer< labelList > &)
 Construct by transferring the parameter contents.
 face (const triFace &)
 Copy construct from triFace.
 face (Istream &)
 Construct from Istream.
label collapse ()
 Collapse face by removing duplicate point labels.
pointField points (const pointField &meshPoints) const
 Return the points corresponding to this face.
point centre (const pointField &) const
 Centre point of face.
template<class Type >
Type average (const pointField &, const Field< Type > &) const
 Calculate average value at centroid of face.
scalar mag (const pointField &) const
 Scalar magnitude.
vector normal (const pointField &) const
 Vector normal; magnitude is equal to area of face.
face reverseFace () const
 Return face with reverse direction.
label which (const label globalIndex) const
 Navigation through face vertices.
label nextLabel (const label i) const
 Next vertex on face.
label prevLabel (const label i) const
 Previous vertex on face.
scalar sweptVol (const pointField &oldPoints, const pointField &newPoints) const
 Return the volume swept out by the face when its points move.
pointHit ray (const point &p, const vector &n, const pointField &meshPoints, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
 Return potential intersection with face with a ray starting.
pointHit intersection (const point &p, const vector &q, const point &ctr, const pointField &meshPoints, const intersection::algorithm alg, const scalar tol=0.0) const
 Fast intersection with a ray.
pointHit nearestPoint (const point &p, const pointField &meshPoints) const
 Return nearest point to face.
scalar contactSphereDiameter (const point &p, const vector &n, const pointField &meshPoints) const
 Return contact sphere diameter.
scalar areaInContact (const pointField &points, const scalarField &v) const
 Return area in contact, given the displacement in vertices.
label nEdges () const
 Return number of edges.
edgeList edges () const
 Return edges in face point ordering, i.e. edges()[0] is edge.
edge faceEdge (const label n) const
 Return n-th face edge.
int edgeDirection (const edge &) const
 Return the edge direction on the face.
label nTriangles () const
 Number of triangles after splitting.
label nTriangles (const pointField &points) const
 Number of triangles after splitting.
label triangles (const pointField &points, label &triI, faceList &triFaces) const
 Split into triangles using existing points.
template<unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
label triangles (const pointField &points, DynamicList< face, SizeInc, SizeMult, SizeDiv > &triFaces) const
 Split into triangles using existing points.
label nTrianglesQuads (const pointField &points, label &nTris, label &nQuads) const
 Number of triangles and quads after splitting.
label trianglesQuads (const pointField &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
 Split into triangles and quads.

Static Public Member Functions

static int compare (const face &, const face &)
 compare faces

Static Public Attributes

static const char *const typeName = "face"

Friends

bool operator== (const face &a, const face &b)
bool operator!= (const face &a, const face &b)
Istreamoperator>> (Istream &, face &)

Detailed Description

A face is a list of labels corresponding to mesh vertices.

Source files

Definition at line 66 of file face.H.


Constructor & Destructor Documentation

face (  )  [inline]

Construct null.

Definition at line 36 of file faceI.H.

Referenced by face::areaInContact().

Here is the caller graph for this function:

face ( label  s  )  [inline, explicit]

Construct given size.

Definition at line 40 of file faceI.H.

face ( const UList< label > &  lst  )  [inline, explicit]

Construct from list of labels.

Definition at line 46 of file faceI.H.

face ( const labelList lst  )  [inline, explicit]

Construct from list of labels.

Definition at line 52 of file faceI.H.

face ( const Xfer< labelList > &  lst  )  [inline, explicit]

Construct by transferring the parameter contents.

Definition at line 58 of file faceI.H.

face ( const triFace f  ) 

Copy construct from triFace.

Definition at line 284 of file face.C.

face ( Istream is  )  [inline]

Construct from Istream.

Definition at line 64 of file faceI.H.


Member Function Documentation

Foam::label collapse (  ) 

Collapse face by removing duplicate point labels.

return the collapsed size

Definition at line 445 of file face.C.

Referenced by face::compare(), and STARCD::readCells().

Here is the caller graph for this function:

Foam::pointField points ( const pointField meshPoints  )  const [inline]

Return the points corresponding to this face.

Definition at line 72 of file faceI.H.

Referenced by face::ray().

Here is the caller graph for this function:

Foam::point centre ( const pointField meshPoints  )  const

Centre point of face.

Definition at line 470 of file face.C.

Referenced by face::contactSphereDiameter().

Here is the caller graph for this function:

Type average ( const pointField meshPoints,
const Field< Type > &  f 
) const [inline]

Calculate average value at centroid of face.

Definition at line 43 of file faceTemplates.C.

Referenced by face::ray().

Here is the caller graph for this function:

Foam::scalar mag ( const pointField p  )  const [inline]

Scalar magnitude.

Definition at line 89 of file faceI.H.

References p.

Referenced by face::areaInContact(), face::contactSphereDiameter(), and face::ray().

Here is the caller graph for this function:

Foam::vector normal ( const pointField p  )  const

Vector normal; magnitude is equal to area of face.

Definition at line 533 of file face.C.

Referenced by face::contactSphereDiameter().

Here is the caller graph for this function:

Foam::face reverseFace (  )  const

Return face with reverse direction.

Definition at line 592 of file face.C.

Foam::label which ( const label  globalIndex  )  const

Navigation through face vertices.

Which vertex on face (face index given a global index)

Definition at line 611 of file face.C.

Foam::label nextLabel ( const label  i  )  const [inline]

Next vertex on face.

Definition at line 109 of file faceI.H.

Referenced by primitiveMesh::checkEdgeAlignment(), and primitiveMeshGeometry::checkFaceTwist().

Here is the caller graph for this function:

Foam::label prevLabel ( const label  i  )  const [inline]

Previous vertex on face.

Definition at line 116 of file faceI.H.

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

Return the volume swept out by the face when its points move.

Definition at line 630 of file face.C.

Foam::pointHit ray ( const point p,
const vector n,
const pointField 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-center decomposition and returns triangle intersection point closest to p. Face-center 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 39 of file faceIntersection.C.

References face::average(), face::mag(), Foam::mag(), nPoints, and face::points().

Here is the call graph for this function:

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

Fast intersection with a ray.

Does face-center decomposition and returns triangle intersection point closest to p. See triangle::intersection for details.

Definition at line 126 of file faceIntersection.C.

Foam::pointHit nearestPoint ( const point p,
const pointField meshPoints 
) const

Return nearest point to face.

Definition at line 173 of file faceIntersection.C.

Foam::scalar contactSphereDiameter ( const point p,
const vector n,
const pointField meshPoints 
) const

Return contact sphere diameter.

Definition at line 27 of file faceContactSphere.C.

References face::centre(), face::mag(), and face::normal().

Here is the call graph for this function:

Foam::scalar areaInContact ( const pointField points,
const scalarField v 
) const

Return area in contact, given the displacement in vertices.

Definition at line 28 of file faceAreaInContact.C.

References face::face(), forAll, and face::mag().

Here is the call graph for this function:

Foam::label nEdges (  )  const [inline]

Return number of edges.

Definition at line 95 of file faceI.H.

Foam::edgeList edges (  )  const

Return edges in face point ordering, i.e. edges()[0] is edge.

between [0] and [1]

Definition at line 685 of file face.C.

Referenced by Foam::polyMeshZipUpCells().

Here is the caller graph for this function:

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

Return n-th face edge.

Definition at line 102 of file faceI.H.

int edgeDirection ( const edge e  )  const

Return the edge direction on the face.

  • 0: edge not found on the face
  • +1: forward (counter-clockwise) on the face
  • -1: reverse (clockwise) on the face

Definition at line 705 of file face.C.

Foam::label nTriangles (  )  const [inline]

Number of triangles after splitting.

Definition at line 122 of file faceI.H.

Referenced by boundaryMesh::getNTris(), and face::triangles().

Here is the caller graph for this function:

Foam::label nTriangles ( const pointField points  )  const

Number of triangles after splitting.

Definition at line 749 of file face.C.

Foam::label triangles ( const pointField points,
label triI,
faceList triFaces 
) const

Split into triangles using existing points.

Result in triFaces[triI..triI+nTri]. Splits intelligently to maximize triangle quality. Returns number of faces created.

Definition at line 756 of file face.C.

References face::nTriangles().

Here is the call graph for this function:

Foam::label triangles ( const pointField points,
DynamicList< face, SizeInc, SizeMult, SizeDiv > &  triFaces 
) const [inline]

Split into triangles using existing points.

Append to DynamicList. Returns number of faces created.

Definition at line 25 of file faceTemplates.C.

References List< T >::size().

Here is the call graph for this function:

Foam::label nTrianglesQuads ( const pointField points,
label nTris,
label nQuads 
) const

Number of triangles and quads after splitting.

Returns the sum of both

Definition at line 770 of file face.C.

Foam::label trianglesQuads ( const pointField 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 784 of file face.C.

int compare ( const face a,
const face b 
) [static]

compare faces

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

Definition at line 297 of file face.C.

References face::collapse(), and forAll.

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

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

bool operator== ( const face a,
const face b 
) [friend]

bool operator!= ( const face a,
const face b 
) [friend]

Istream& operator>> ( Istream ,
face  
) [friend]


Member Data Documentation

const char *const typeName = "face" [static]

Definition at line 128 of file face.H.


The documentation for this class was generated from the following files:
Copyright © 2000-2009 OpenCFD Ltd