Public Member Functions | Private Member Functions | Private Attributes
boundaryCutter Class Reference

Does modifications to boundary faces. More...

Collaboration diagram for boundaryCutter:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("boundaryCutter")
 Runtime type information. More...
 
 boundaryCutter (const polyMesh &mesh)
 Construct from mesh. More...
 
 ~boundaryCutter ()
 Destructor. More...
 
void setRefinement (const Map< point > &pointToPos, const Map< List< point > > &edgeToCuts, const Map< labelPair > &faceToSplit, const Map< point > &faceToFeaturePoint, polyTopoChange &meshMod)
 Do actual cutting with cut description. Inserts mesh changes. More...
 
void updateMesh (const mapPolyMesh &)
 Force recalculation of locally stored data on topological change. More...
 
const HashTable< labelList, edge, Hash< edge > > & edgeAddedPoints () const
 Per edge a sorted list (start to end) of added points. More...
 
const Map< label > & faceAddedPoint () const
 Per face the mid point added. More...
 

Private Member Functions

void getFaceInfo (const label faceI, label &patchID, label &zoneID, label &zoneFlip) const
 Get patch and zone info for face. More...
 
face addEdgeCutsToFace (const label faceI, const Map< labelList > &) const
 Add cuts of edges to face. More...
 
bool splitFace (const label faceI, const Map< point > &pointToPos, const Map< labelList > &edgeToAddedPoints, polyTopoChange &meshMod) const
 Splits faces with multiple cut edges. Return true if anything split. More...
 
void addFace (const label faceI, const face &newFace, bool &modifiedFace, polyTopoChange &meshMod) const
 Add/modify faceI for new vertices. More...
 
 boundaryCutter (const boundaryCutter &)
 Disallow default bitwise copy construct. More...
 
void operator= (const boundaryCutter &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const polyMeshmesh_
 Reference to mesh. More...
 
HashTable< labelList, edge, Hash< edge > > edgeAddedPoints_
 Per edge sorted (start to end) list of points added. More...
 
Map< labelfaceAddedPoint_
 Per face the mid point added. More...
 

Detailed Description

Does modifications to boundary faces.

Does

Source files

Definition at line 65 of file boundaryCutter.H.

Constructor & Destructor Documentation

◆ boundaryCutter() [1/2]

boundaryCutter ( const boundaryCutter )
private

Disallow default bitwise copy construct.

◆ boundaryCutter() [2/2]

boundaryCutter ( const polyMesh mesh)

Construct from mesh.

Definition at line 389 of file boundaryCutter.C.

◆ ~boundaryCutter()

Destructor.

Definition at line 399 of file boundaryCutter.C.

Member Function Documentation

◆ getFaceInfo()

void getFaceInfo ( const label  faceI,
label patchID,
label zoneID,
label zoneFlip 
) const
private

Get patch and zone info for face.

Definition at line 51 of file boundaryCutter.C.

References faceZone::flipMap(), and faceZone::whichFace().

Here is the call graph for this function:

◆ addEdgeCutsToFace()

Foam::face addEdgeCutsToFace ( const label  faceI,
const Map< labelList > &  edgeToAddedPoints 
) const
private

Add cuts of edges to face.

Definition at line 81 of file boundaryCutter.C.

References DynamicList::append(), Foam::endl(), f(), Foam::meshTools::findEdge(), forAll, forAllReverse, Foam::nl, Foam::Pout, and List::transfer().

Here is the call graph for this function:

◆ splitFace()

bool splitFace ( const label  faceI,
const Map< point > &  pointToPos,
const Map< labelList > &  edgeToAddedPoints,
polyTopoChange meshMod 
) const
private

Splits faces with multiple cut edges. Return true if anything split.

Definition at line 203 of file boundaryCutter.C.

References Foam::abort(), DynamicList::append(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, Foam::meshTools::findEdge(), forAll, Foam::Pout, List::size(), List::transfer(), and Foam::Warning.

Here is the call graph for this function:

◆ addFace()

void addFace ( const label  faceI,
const face newFace,
bool &  modifiedFace,
polyTopoChange meshMod 
) const
private

Add/modify faceI for new vertices.

Definition at line 144 of file boundaryCutter.C.

References polyTopoChange::setAction().

Here is the call graph for this function:

◆ operator=()

void operator= ( const boundaryCutter )
private

Disallow default bitwise assignment.

◆ ClassName()

ClassName ( "boundaryCutter"  )

Runtime type information.

◆ setRefinement()

void setRefinement ( const Map< point > &  pointToPos,
const Map< List< point > > &  edgeToCuts,
const Map< labelPair > &  faceToSplit,
const Map< point > &  faceToFeaturePoint,
polyTopoChange meshMod 
)

Do actual cutting with cut description. Inserts mesh changes.

into meshMod. pointToPos : new position for selected points edgeToCuts : per edge set of points that need to be introduced faceToSplit : per face the diagonal split faceToFeaturePoint : per face the feature point. Triangulation around this feature point.

Definition at line 406 of file boundaryCutter.C.

References Foam::abort(), DynamicList::append(), DynamicList::clear(), Foam::diag(), Foam::e, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), forAll, forAllConstIter(), face::nextLabel(), Foam::Pout, List::resize(), polyTopoChange::setAction(), List::setSize(), DynamicList::shrink(), and List::size().

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh morphMap)

Force recalculation of locally stored data on topological change.

Definition at line 832 of file boundaryCutter.C.

References Foam::e, forAll, forAllConstIter(), HashTable::insert(), mapPolyMesh::reverseFaceMap(), mapPolyMesh::reversePointMap(), List::setSize(), and List::size().

Here is the call graph for this function:

◆ edgeAddedPoints()

const HashTable<labelList, edge, Hash<edge> >& edgeAddedPoints ( ) const
inline

Per edge a sorted list (start to end) of added points.

Definition at line 161 of file boundaryCutter.H.

References boundaryCutter::edgeAddedPoints_.

◆ faceAddedPoint()

const Map<label>& faceAddedPoint ( ) const
inline

Per face the mid point added.

Definition at line 168 of file boundaryCutter.H.

References boundaryCutter::faceAddedPoint_.

Field Documentation

◆ mesh_

const polyMesh& mesh_
private

Reference to mesh.

Definition at line 70 of file boundaryCutter.H.

◆ edgeAddedPoints_

HashTable<labelList, edge, Hash<edge> > edgeAddedPoints_
private

Per edge sorted (start to end) list of points added.

Definition at line 73 of file boundaryCutter.H.

Referenced by boundaryCutter::edgeAddedPoints().

◆ faceAddedPoint_

Map<label> faceAddedPoint_
private

Per face the mid point added.

Definition at line 76 of file boundaryCutter.H.

Referenced by boundaryCutter::faceAddedPoint().


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