Public Member Functions | Private Types | Private Member Functions | Private Attributes
meshUntangler::cutRegion Class Reference
Collaboration diagram for meshUntangler::cutRegion:
Collaboration graph
[legend]

Public Member Functions

 cutRegion (const boundBox &)
 Construct from boundBox. More...
 
 ~cutRegion ()
 
const DynList< point, 64 > & points () const
 return the vertices of the feasible region More...
 
void planeCut (const plane &plane)
 cut the region woth the plane More...
 
void createPolyMeshFromRegion (polyMeshGen &) const
 export the feasible region as polyMeshGen More...
 

Private Types

enum  vTypes { NONE = 0, KEEP = 1, INPLANE = 2, USED = 4 }
 

Private Member Functions

bool findNewVertices (const plane &plane)
 
void findNewEdges ()
 
void findNewFaces ()
 
void tieBreak (const DynList< label, 8 > &f)
 
void removeCoincidentVertices ()
 remove coincident vertices to improve tie breaking More...
 
void createInitialConfiguration (const boundBox &)
 

Private Attributes

DynList< point, 64 > * pointsPtr_
 
DynList< edge, 128 > * edgesPtr_
 
DynList< DynList< label, 8 >, 64 > * facesPtr_
 
DynList< point, 64 > * cPtsPtr_
 helper data More...
 
DynList< edge, 128 > * cEdgesPtr_
 
DynList< DynList< label, 8 >, 64 > * cFacesPtr_
 
DynList< label, 64 > newVertexLabel_
 
DynList< scalar, 64 > vertexDistance_
 
DynList< direction, 64 > vertexTypes_
 
DynList< label, 128 > newEdgeLabel_
 
label origNumVertices_
 
scalar tol_
 
bool valid_
 

Detailed Description

Definition at line 60 of file meshUntangler.H.

Member Enumeration Documentation

◆ vTypes

enum vTypes
private
Enumerator
NONE 
KEEP 
INPLANE 
USED 

Definition at line 96 of file meshUntangler.H.

Constructor & Destructor Documentation

◆ cutRegion()

cutRegion ( const boundBox bb)

Construct from boundBox.

Definition at line 164 of file meshUntanglerCutRegion.C.

References meshUntangler::cutRegion::createInitialConfiguration().

Here is the call graph for this function:

◆ ~cutRegion()

~cutRegion ( )

Definition at line 183 of file meshUntanglerCutRegion.C.

References Foam::deleteDemandDrivenData().

Here is the call graph for this function:

Member Function Documentation

◆ findNewVertices()

bool findNewVertices ( const plane plane)
private

Definition at line 50 of file meshUntanglerCutRegionPoints.C.

References Foam::deleteDemandDrivenData(), Foam::endl(), forAll, Foam::Info, n, plane::normal(), p, points, and plane::refPoint().

Here is the call graph for this function:

◆ findNewEdges()

void findNewEdges ( )
private

◆ findNewFaces()

void findNewFaces ( )
private

◆ tieBreak()

void tieBreak ( const DynList< label, 8 > &  f)
private

◆ removeCoincidentVertices()

void removeCoincidentVertices ( )
private

◆ createInitialConfiguration()

void createInitialConfiguration ( const boundBox bb)
private

set vertices

set edges

edges in x direction

edges in y direction

edges in z direction

set faces

faces in x direction

faces in y direction

faces in z direction

Definition at line 50 of file meshUntanglerCutRegion.C.

References DynList< T, staticSize >::append(), Foam::constant::universal::c, Foam::endl(), f(), Foam::Info, boundBox::max(), boundBox::min(), List::setSize(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Referenced by meshUntangler::cutRegion::cutRegion().

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

◆ points()

const DynList<point, 64>& points ( ) const
inline

return the vertices of the feasible region

Definition at line 115 of file meshUntangler.H.

References meshUntangler::cutRegion::pointsPtr_.

Referenced by meshUntangler::optimizeNodePosition(), meshUntangler::cutRegion::removeCoincidentVertices(), and meshUntangler::cutRegion::tieBreak().

Here is the caller graph for this function:

◆ planeCut()

void planeCut ( const plane plane)

cut the region woth the plane

Definition at line 195 of file meshUntanglerCutRegion.C.

References Foam::abort(), Time::controlDictName, Foam::deleteDemandDrivenData(), Foam::FatalError, and FatalErrorIn.

Referenced by meshUntangler::optimizeNodePosition().

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

◆ createPolyMeshFromRegion()

void createPolyMeshFromRegion ( polyMeshGen mesh) const

Field Documentation

◆ pointsPtr_

DynList<point, 64>* pointsPtr_
private

◆ edgesPtr_

DynList<edge, 128>* edgesPtr_
private

◆ facesPtr_

DynList<DynList<label, 8>, 64>* facesPtr_
private

◆ cPtsPtr_

DynList<point, 64>* cPtsPtr_
private

◆ cEdgesPtr_

DynList<edge, 128>* cEdgesPtr_
private

◆ cFacesPtr_

DynList<DynList<label, 8>, 64>* cFacesPtr_
private

◆ newVertexLabel_

DynList<label, 64> newVertexLabel_
private

◆ vertexDistance_

DynList<scalar, 64> vertexDistance_
private

◆ vertexTypes_

DynList<direction, 64> vertexTypes_
private

◆ newEdgeLabel_

DynList<label, 128> newEdgeLabel_
private

◆ origNumVertices_

label origNumVertices_
private

Definition at line 76 of file meshUntangler.H.

Referenced by meshUntangler::cutRegion::tieBreak().

◆ tol_

scalar tol_
private

◆ valid_

bool valid_
private

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