Public Member Functions | Static Public Member Functions | Friends | List of all members
directionInfo Class Reference

Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction. More...

Public Member Functions

 directionInfo ()
 
 directionInfo (const label index, const vector &n)
 
label index () const
 
const vectorn () const
 
template<class TrackingData >
bool valid (TrackingData &td) const
 
template<class TrackingData >
bool sameGeometry (const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
 
template<class TrackingData >
void leaveDomain (const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
 
template<class TrackingData >
void enterDomain (const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
 
template<class TrackingData >
void transform (const polyMesh &, const tensor &, TrackingData &td)
 
template<class TrackingData >
bool updateCell (const polyMesh &, const label thisCelli, const label neighbourFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 
template<class TrackingData >
bool updateFace (const polyMesh &, const label thisFacei, const label neighbourCelli, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 
template<class TrackingData >
bool updateFace (const polyMesh &, const label thisFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 
template<class TrackingData >
bool equal (const directionInfo &, TrackingData &td) const
 
bool operator== (const directionInfo &) const
 
bool operator!= (const directionInfo &) const
 

Static Public Member Functions

static label edgeToFaceIndex (const primitiveMesh &mesh, const label celli, const label facei, const label edgeI)
 

Friends

Ostreamoperator<< (Ostream &, const directionInfo &)
 
Istreamoperator>> (Istream &, directionInfo &)
 

Detailed Description

Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction.

The direction is the normal direction to cut in. The label's meaning depends on whether the info is on a cell or on a face:

The rule is that if the label is set (-1 or higher) it is used (topological information only), otherwise the vector is used. This makes sure that we use topological information as much as possible and so a hex mesh is cut purely topologically. All other shapes are cut geometrically.

Source files

Definition at line 79 of file directionInfo.H.

Constructor & Destructor Documentation

◆ directionInfo() [1/2]

directionInfo ( )
inline

Definition at line 28 of file directionInfoI.H.

◆ directionInfo() [2/2]

directionInfo ( const label  index,
const vector n 
)
inline

Definition at line 36 of file directionInfoI.H.

Member Function Documentation

◆ edgeToFaceIndex()

Foam::label edgeToFaceIndex ( const primitiveMesh mesh,
const label  celli,
const label  facei,
const label  edgeI 
)
static

◆ index()

label index ( ) const
inline

Definition at line 142 of file directionInfo.H.

Referenced by directionInfo::updateCell(), and directionInfo::updateFace().

Here is the caller graph for this function:

◆ n()

const vector& n ( ) const
inline

Definition at line 147 of file directionInfo.H.

Referenced by directionInfo::updateCell(), and directionInfo::updateFace().

Here is the caller graph for this function:

◆ valid()

bool valid ( TrackingData &  td) const
inline

Definition at line 49 of file directionInfoI.H.

◆ sameGeometry()

bool sameGeometry ( const polyMesh ,
const directionInfo w2,
const scalar  tol,
TrackingData &  td 
) const
inline

Definition at line 58 of file directionInfoI.H.

◆ leaveDomain()

void leaveDomain ( const polyMesh ,
const polyPatch patch,
const label  patchFacei,
const point faceCentre,
TrackingData &  td 
)
inline

Definition at line 72 of file directionInfoI.H.

◆ enterDomain()

void enterDomain ( const polyMesh ,
const polyPatch patch,
const label  patchFacei,
const point faceCentre,
TrackingData &  td 
)
inline

Definition at line 88 of file directionInfoI.H.

References f(), and Foam::foamVersion::patch.

Here is the call graph for this function:

◆ transform()

void transform ( const polyMesh ,
const tensor rotTensor,
TrackingData &  td 
)
inline

Definition at line 108 of file directionInfoI.H.

◆ updateCell()

bool updateCell ( const polyMesh mesh,
const label  thisCelli,
const label  neighbourFacei,
const directionInfo neighbourInfo,
const scalar  tol,
TrackingData &  td 
)
inline

◆ updateFace() [1/2]

bool updateFace ( const polyMesh mesh,
const label  thisFacei,
const label  neighbourCelli,
const directionInfo neighbourInfo,
const scalar  tol,
TrackingData &  td 
)
inline

Definition at line 200 of file directionInfoI.H.

References directionInfo::index(), mesh, and directionInfo::n().

Here is the call graph for this function:

◆ updateFace() [2/2]

bool updateFace ( const polyMesh mesh,
const label  thisFacei,
const directionInfo neighbourInfo,
const scalar  tol,
TrackingData &  td 
)
inline

Definition at line 248 of file directionInfoI.H.

References directionInfo::index(), and directionInfo::n().

Here is the call graph for this function:

◆ equal()

bool equal ( const directionInfo rhs,
TrackingData &  td 
) const
inline

Definition at line 274 of file directionInfoI.H.

References Foam::operator==().

Here is the call graph for this function:

◆ operator==()

bool operator== ( const directionInfo rhs) const
inline

Definition at line 286 of file directionInfoI.H.

◆ operator!=()

bool operator!= ( const directionInfo rhs) const
inline

Definition at line 295 of file directionInfoI.H.

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream ,
const directionInfo  
)
friend

◆ operator>>

Istream& operator>> ( Istream ,
directionInfo  
)
friend

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