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 ()
 Construct null. More...
 
 directionInfo (const label, const vector &n)
 Construct from components. More...
 
 directionInfo (const directionInfo &)
 Construct as copy. More...
 
label index () const
 
const vectorn () const
 
template<class TrackingData >
bool valid (TrackingData &td) const
 Check whether origin has been changed at all or. More...
 
template<class TrackingData >
bool sameGeometry (const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
 Check for identical geometrical data. Used for cyclics checking. More...
 
template<class TrackingData >
void leaveDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &td)
 Convert any absolute coordinates into relative to (patch)face. More...
 
template<class TrackingData >
void enterDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &td)
 Reverse of leaveDomain. More...
 
template<class TrackingData >
void transform (const polyMesh &, const tensor &, TrackingData &td)
 Apply rotation matrix to any coordinates. More...
 
template<class TrackingData >
bool updateCell (const polyMesh &, const label thisCellI, const label neighbourFaceI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of neighbouring face. More...
 
template<class TrackingData >
bool updateFace (const polyMesh &, const label thisFaceI, const label neighbourCellI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of neighbouring cell. More...
 
template<class TrackingData >
bool updateFace (const polyMesh &, const label thisFaceI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of different value on same face. More...
 
template<class TrackingData >
bool equal (const directionInfo &, TrackingData &td) const
 Same (like operator==) More...
 
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)
 Given edge on hex cell find corresponding edge on face. Is either. More...
 

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 75 of file directionInfo.H.

Constructor & Destructor Documentation

directionInfo ( )
inline

Construct null.

Definition at line 33 of file directionInfoI.H.

directionInfo ( const label  index,
const vector n 
)
inline

Construct from components.

Definition at line 42 of file directionInfoI.H.

directionInfo ( const directionInfo w2)
inline

Construct as copy.

Definition at line 53 of file directionInfoI.H.

Member Function Documentation

Foam::label edgeToFaceIndex ( const primitiveMesh mesh,
const label  cellI,
const label  faceI,
const label  edgeI 
)
static

Given edge on hex cell find corresponding edge on face. Is either.

index in face or -1 (cut tangential to face). Public since is needed to fill in seed faces in meshWave.

Definition at line 93 of file directionInfo.C.

References Foam::abort(), IOstream::ASCII, IOstream::check(), Foam::e, primitiveMesh::edges(), edge::end(), UList< T >::end(), Foam::endl(), f(), primitiveMesh::faces(), Foam::FatalError, FatalErrorIn, Foam::findIndex(), IOstream::format(), Foam::meshTools::getEdgeFaces(), primitiveMesh::nEdges(), Foam::operator>>(), Istream::read(), List< T >::size(), edge::start(), Foam::meshTools::walkFace(), and Ostream::write().

Referenced by NamedEnum< Enum, nEnum >::names(), and directionInfo::updateFace().

Here is the call graph for this function:

Here is the caller graph for this function:

label index ( ) const
inline

Definition at line 140 of file directionInfo.H.

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

Here is the caller graph for this function:

const vector& n ( ) const
inline
bool valid ( TrackingData &  td) const
inline

Check whether origin has been changed at all or.

still contains original (invalid) value.

Definition at line 63 of file directionInfoI.H.

References directionInfo::sameGeometry().

Referenced by directionInfo::n().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Check for identical geometrical data. Used for cyclics checking.

Definition at line 72 of file directionInfoI.H.

References directionInfo::leaveDomain().

Referenced by directionInfo::n(), and directionInfo::valid().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Convert any absolute coordinates into relative to (patch)face.

centre

Definition at line 87 of file directionInfoI.H.

References directionInfo::enterDomain().

Referenced by directionInfo::n(), and directionInfo::sameGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reverse of leaveDomain.

Definition at line 103 of file directionInfoI.H.

References f(), List< T >::size(), and directionInfo::transform().

Referenced by directionInfo::leaveDomain(), and directionInfo::n().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Apply rotation matrix to any coordinates.

Definition at line 123 of file directionInfoI.H.

References directionInfo::updateCell().

Referenced by directionInfo::enterDomain(), and directionInfo::n().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Influence of neighbouring face.

Definition at line 134 of file directionInfoI.H.

References Foam::e, primitiveMesh::edges(), f(), primitiveMesh::faceEdges(), polyMesh::faces(), directionInfo::index(), Foam::isA(), directionInfo::n(), Foam::meshTools::otherEdge(), Foam::meshTools::otherFace(), List< T >::size(), edge::start(), and directionInfo::updateFace().

Referenced by directionInfo::n(), and directionInfo::transform().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Influence of neighbouring cell.

Definition at line 215 of file directionInfoI.H.

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

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Influence of different value on same face.

Definition at line 264 of file directionInfoI.H.

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

Here is the call graph for this function:

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

Same (like operator==)

Definition at line 290 of file directionInfoI.H.

References directionInfo::operator==().

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

Here is the call graph for this function:

Here is the caller graph for this function:

bool operator== ( const directionInfo rhs) const
inline

Definition at line 301 of file directionInfoI.H.

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

Referenced by directionInfo::equal(), and directionInfo::n().

Here is the call graph for this function:

Here is the caller graph for this function:

bool operator!= ( const directionInfo rhs) const
inline

Definition at line 308 of file directionInfoI.H.

Referenced by directionInfo::n().

Here is the caller graph for this function:

Friends And Related Function Documentation

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

Referenced by directionInfo::n().

Istream& operator>> ( Istream ,
directionInfo  
)
friend

Referenced by directionInfo::n().


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