Cuts (splits) cells. More...
Public Member Functions | |
ClassName ("meshCutter") | |
Runtime type information. More... | |
meshCutter (const polyMesh &mesh) | |
Construct from mesh. More... | |
meshCutter (const meshCutter &)=delete | |
Disallow default bitwise copy construction. More... | |
~meshCutter () | |
Destructor. More... | |
void | setRefinement (const cellCuts &cuts, polyTopoChange &meshMod) |
Do actual cutting with cut description. Inserts mesh changes. More... | |
void | topoChange (const polyTopoChangeMap &) |
Force recalculation of locally stored data on topological change. More... | |
const Map< label > & | addedCells () const |
Cells added. Per split cell label of added cell. More... | |
const Map< label > & | addedFaces () const |
Faces added. Per split cell label of added face. More... | |
const HashTable< label, edge, Hash< edge > > & | addedPoints () const |
Points added. Per split edge label of added point. More... | |
void | operator= (const meshCutter &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from edgeVertex | |
edgeVertex (const polyMesh &mesh) | |
Construct from mesh. More... | |
edgeVertex (const edgeVertex &)=delete | |
Disallow default bitwise copy construction. More... | |
const polyMesh & | mesh () const |
bool | isEdge (const label eVert) const |
label | getEdge (const label eVert) const |
label | getVertex (const label eVert) const |
label | vertToEVert (const label vertI) const |
label | edgeToEVert (const label edgeI) const |
point | coord (const label cut, const scalar weight) const |
label | cutPairToEdge (const label cut0, const label cut1) const |
Ostream & | writeCut (Ostream &os, const label cut, const scalar) const |
Write cut description to Ostream. More... | |
Ostream & | writeCuts (Ostream &os, const labelList &, const scalarField &) const |
Write cut descriptions to Ostream. More... | |
void | operator= (const edgeVertex &)=delete |
Disallow default bitwise assignment. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from edgeVertex | |
static void | updateLabels (const labelList &map, List< refineCell > &) |
Update refine list from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, Map< label > &) |
Update map from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, labelHashSet &) |
Update map from map. Used to update cell/face labels. More... | |
static bool | isEdge (const primitiveMesh &mesh, const label eVert) |
Is eVert an edge? More... | |
static label | getEdge (const primitiveMesh &mesh, const label eVert) |
Convert eVert to edge label. More... | |
static label | getVertex (const primitiveMesh &mesh, const label eVert) |
Convert eVert to vertex label. More... | |
static label | vertToEVert (const primitiveMesh &mesh, const label vertI) |
Convert pointi to eVert. More... | |
static label | edgeToEVert (const primitiveMesh &mesh, const label edgeI) |
Convert edgeI to eVert. More... | |
static point | coord (const primitiveMesh &, const label cut, const scalar weight) |
Return coordinate of cut (uses weight if edgeCut) More... | |
static label | cutPairToEdge (const primitiveMesh &, const label cut0, const label cut1) |
Find mesh edge (or -1) between two cuts. More... | |
Cuts (splits) cells.
Description of cut is given as a loop of 'cuts' per cell (see cellCuts). setRefinement() takes this cut description and inserts the necessary topoActions (add points/faces/cells) into the polyTopoChange.
Stores added cells/faces/points.
Cut description gives orientation to cut by calculating 'anchorPoints'. The side of the cell that contains the anchorPoints is the master cell. Likewise the cells' edges will have the split added as a duplicate of the master (anchor) point. Think of it as the cell with the anchor points at the bottom. Add a face at the bottom to split the cell and then sweep this face up to be through the middle of the cell.
+-------+ | + | + | + | + | + | + | + +-------+ anchor anchor
+-------+ | + | + | + <- addedCell | + | + | + +-------+ <- splitFace +-------+ <- original cell anchor anchor
+-------+ | + | + <- addedCell | + +-------+ <- splitFace | + | + <- original cell | + +-------+ anchor anchor
This meshCutting uses anchorPoints:
Definition at line 128 of file meshCutter.H.
meshCutter | ( | const polyMesh & | mesh | ) |
Construct from mesh.
Definition at line 451 of file meshCutter.C.
|
delete |
Disallow default bitwise copy construction.
~meshCutter | ( | ) |
Destructor.
Definition at line 463 of file meshCutter.C.
ClassName | ( | "meshCutter" | ) |
Runtime type information.
void setRefinement | ( | const cellCuts & | cuts, |
polyTopoChange & | meshMod | ||
) |
Do actual cutting with cut description. Inserts mesh changes.
into meshMod.
Definition at line 469 of file meshCutter.C.
References Foam::abort(), polyTopoChange::addCell(), polyTopoChange::addFace(), polyTopoChange::addPoint(), cellCuts::cellAnchorPoints(), cellCuts::cellLoops(), Foam::e, cellCuts::edgeIsCut(), cellCuts::edgeWeight(), Foam::endl(), f(), cellCuts::faceSplitCut(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIter, Foam::nl, cellCuts::nLoops(), points, Foam::Pout, Foam::returnReduce(), List< T >::size(), syncTools::syncEdgeList(), and WarningInFunction.
Referenced by undoableMeshCutter::setRefinement().
void topoChange | ( | const polyTopoChangeMap & | map | ) |
Force recalculation of locally stored data on topological change.
Definition at line 916 of file meshCutter.C.
References Foam::e, Foam::endl(), forAllConstIter, HashTable< T, Key, Hash >::insert(), Foam::Pout, polyTopoChangeMap::reverseCellMap(), polyTopoChangeMap::reverseFaceMap(), and polyTopoChangeMap::reversePointMap().
Referenced by undoableMeshCutter::topoChange().
Cells added. Per split cell label of added cell.
Definition at line 278 of file meshCutter.H.
Faces added. Per split cell label of added face.
Definition at line 284 of file meshCutter.H.
Points added. Per split edge label of added point.
Definition at line 290 of file meshCutter.H.
|
delete |
Disallow default bitwise assignment.