Loading...
Searching...
No Matches
faceAreaIntersect Class Reference

Face intersection class. More...

#include <faceAreaIntersect.H>

Collaboration diagram for faceAreaIntersect:

Public Types

enum  triangulationMode { tmFan , tmMesh }

Public Member Functions

 faceAreaIntersect (const pointField &pointsA, const pointField &pointsB, const DynamicList< face > &trisA, const DynamicList< face > &trisB, const bool reverseB=false, const bool cacheTriangulation=false)
 Construct from components.
bool cacheTriangulation () const
 Const access to the cacheTriangulation flag.
const DynamicList< triPoints > & triangles () const noexcept
 Const access to the triangulation.
DynamicList< triPoints > & triangles () noexcept
 Non-const access to the triangulation.
void calc (const face &faceA, const face &faceB, const vector &n, scalar &area, vector &centroid) const
 Return area of intersection of faceA with faceB and effective face centre.
bool overlaps (const face &faceA, const face &faceB, const vector &n, const scalar threshold) const
 Return area of intersection of faceA with faceB.

Static Public Member Functions

static scalar & tolerance ()
 Fraction of local length scale to use as intersection tolerance.
static void triangulate (const face &f, const pointField &points, const triangulationMode &triMode, faceList &faceTris)
 Triangulate a face using the given triangulation mode.
static void triangleFan (const face &f, DynamicList< face > &faces)
 Decompose face into triangle fan.

Static Public Attributes

static const Enum< triangulationModetriangulationModeNames_

Detailed Description

Face intersection class.

  • calculates intersection area by sub-dividing face into triangles and cutting
Source files

Definition at line 55 of file faceAreaIntersect.H.

Member Enumeration Documentation

◆ triangulationMode

Enumerator
tmFan 
tmMesh 

Definition at line 59 of file faceAreaIntersect.H.

Constructor & Destructor Documentation

◆ faceAreaIntersect()

faceAreaIntersect ( const pointField & pointsA,
const pointField & pointsB,
const DynamicList< face > & trisA,
const DynamicList< face > & trisB,
const bool reverseB = false,
const bool cacheTriangulation = false )

Construct from components.

Definition at line 378 of file faceAreaIntersect.C.

References cacheTriangulation().

Here is the call graph for this function:

Member Function Documentation

◆ tolerance()

Foam::scalar & tolerance ( )
inlinestatic

Fraction of local length scale to use as intersection tolerance.

Definition at line 105 of file faceAreaIntersectI.H.

Referenced by faceAreaWeightAMI::processSourceFace(), and faceAreaWeightAMI::setNextFaces().

Here is the caller graph for this function:

◆ triangulate()

void triangulate ( const face & f,
const pointField & points,
const triangulationMode & triMode,
faceList & faceTris )
static

Triangulate a face using the given triangulation mode.

Definition at line 400 of file faceAreaIntersect.C.

References Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, points, List< T >::resize(), tmFan, and tmMesh.

Here is the call graph for this function:

◆ cacheTriangulation()

bool cacheTriangulation ( ) const
inline

Const access to the cacheTriangulation flag.

Definition at line 111 of file faceAreaIntersectI.H.

Referenced by faceAreaIntersect().

Here is the caller graph for this function:

◆ triangles() [1/2]

const DynamicList< triPoints > & triangles ( ) const
inlinenoexcept

Const access to the triangulation.

Definition at line 222 of file faceAreaIntersect.H.

References Foam::noexcept.

Referenced by faceAreaWeightAMI::calcInterArea().

Here is the caller graph for this function:

◆ triangles() [2/2]

DynamicList< triPoints > & triangles ( )
inlinenoexcept

Non-const access to the triangulation.

Definition at line 230 of file faceAreaIntersect.H.

References Foam::noexcept.

◆ triangleFan()

void triangleFan ( const face & f,
DynamicList< face > & faces )
inlinestatic

Decompose face into triangle fan.

Definition at line 24 of file faceAreaIntersectI.H.

References DynamicList< T, SizeMin >::append(), and f().

Referenced by advancingFrontAMI::triangulatePatch().

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

◆ calc()

void calc ( const face & faceA,
const face & faceB,
const vector & n,
scalar & area,
vector & centroid ) const

Return area of intersection of faceA with faceB and effective face centre.

Definition at line 443 of file faceAreaIntersect.C.

References n, and VectorSpace< Form, Cmpt, Ncmpts >::zero.

Referenced by faceAreaWeightAMI::calcInterArea().

Here is the caller graph for this function:

◆ overlaps()

bool overlaps ( const face & faceA,
const face & faceB,
const vector & n,
const scalar threshold ) const

Return area of intersection of faceA with faceB.

Definition at line 504 of file faceAreaIntersect.C.

References n, and Foam::Zero.

Referenced by faceAreaWeightAMI::overlaps().

Here is the caller graph for this function:

Member Data Documentation

◆ triangulationModeNames_

const Foam::Enum< Foam::faceAreaIntersect::triangulationMode > triangulationModeNames_
static

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