removePoints Class Reference

Removes selected points from mesh and updates faces using these points. More...

Public Member Functions

 ClassName ("removePoints")
 Runtime type information. More...
 
 removePoints (const polyMesh &mesh, const bool undoable=false)
 Construct from mesh. More...
 
 removePoints (const removePoints &)=delete
 Disallow default bitwise copy construction. More...
 
const labelListsavedFaceLabels () const
 If undoable: affected face labels. Already restored faces. More...
 
label countPointUsage (const scalar minCos, boolList &pointCanBeDeleted) const
 Mark in pointCanBeDeleted the points that can be deleted. More...
 
void setRefinement (const boolList &, polyTopoChange &)
 Play commands into polyTopoChange to remove points. Gets. More...
 
void topoChange (const polyTopoChangeMap &)
 Force recalculation of locally stored data on topological change. More...
 
void getUnrefimentSet (const labelList &undoFaces, labelList &localFaces, labelList &localPoints) const
 Given set of faces to restore calculates a consistent set of. More...
 
void setUnrefinement (const labelList &localFaces, const labelList &localPoints, polyTopoChange &)
 Restore selected faces and vertices. More...
 
void operator= (const removePoints &)=delete
 Disallow default bitwise assignment. More...
 

Detailed Description

Removes selected points from mesh and updates faces using these points.

Source files

Definition at line 58 of file removePoints.H.

Constructor & Destructor Documentation

◆ removePoints() [1/2]

removePoints ( const polyMesh mesh,
const bool  undoable = false 
)

Construct from mesh.

Definition at line 111 of file removePoints.C.

◆ removePoints() [2/2]

removePoints ( const removePoints )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ ClassName()

ClassName ( "removePoints"  )

Runtime type information.

◆ savedFaceLabels()

const labelList& savedFaceLabels ( ) const
inline

If undoable: affected face labels. Already restored faces.

will be -1.

Definition at line 111 of file removePoints.H.

Referenced by meshRefinement::doRemovePoints(), and meshRefinement::mergeEdgesUndo().

Here is the caller graph for this function:

◆ countPointUsage()

Foam::label countPointUsage ( const scalar  minCos,
boolList pointCanBeDeleted 
) const

Mark in pointCanBeDeleted the points that can be deleted.

(parallel synchronised) and returns the global number of these points. (this number is the global number before synchronisation so might be off!) A point can be deleted if

  • it is not used by any edge. or
  • is used by only two edges
  • these two edges are sufficiently in line (cos > minCos)
  • all processors agree that point can be deleted.

Definition at line 124 of file removePoints.C.

References List< T >::clear(), edge::commonVertex(), Foam::e, f(), forAll, Foam::mag(), edge::otherVertex(), points, Foam::returnReduce(), List< T >::setSize(), List< T >::size(), and syncTools::syncPointList().

Referenced by edgeCollapser::markMergeEdges(), and meshRefinement::mergeEdgesUndo().

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

◆ setRefinement()

void setRefinement ( const boolList pointCanBeDeleted,
polyTopoChange meshMod 
)

Play commands into polyTopoChange to remove points. Gets.

boolList (output of countPointUsage) as input. Does no check for whether resulting face is legal. Since pointCanBeDeleted is synced all coupled faces should decide the same.

Definition at line 275 of file removePoints.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIter, HashTable< T, Key, Hash >::insert(), HashSet< Key, Hash >::insert(), Foam::nl, pFaces, polyTopoChange::removePoint(), HashTable< T, Key, Hash >::resize(), List< T >::setSize(), HashTable< T, Key, Hash >::size(), and List< T >::size().

Referenced by meshRefinement::doRemovePoints().

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

◆ topoChange()

void topoChange ( const polyTopoChangeMap map)

Force recalculation of locally stored data on topological change.

Definition at line 436 of file removePoints.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, polyTopoChangeMap::reverseFaceMap(), polyTopoChangeMap::reversePointMap(), List< T >::setSize(), and List< T >::size().

Referenced by meshRefinement::doRemovePoints(), and meshRefinement::doRestorePoints().

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

◆ getUnrefimentSet()

void getUnrefimentSet ( const labelList undoFaces,
labelList localFaces,
labelList localPoints 
) const

Given set of faces to restore calculates a consistent set of.

saved faces (indices into savedFaces_) and saved vertices (indices into savedPoints_) to restore. The undoFaces have to be synced.

Definition at line 537 of file removePoints.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, HashTable< T, Key, Hash >::found(), HashSet< Key, Hash >::insert(), VectorSpace< Form, Cmpt, Ncmpts >::max, List< T >::setSize(), HashTable< T, Key, Hash >::size(), List< T >::size(), faceSet::sync(), syncTools::syncBoundaryFaceList(), and HashTable< T, Key, Hash >::toc().

Referenced by meshRefinement::doRestorePoints().

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

◆ setUnrefinement()

void setUnrefinement ( const labelList localFaces,
const labelList localPoints,
polyTopoChange meshMod 
)

Restore selected faces and vertices.

Definition at line 749 of file removePoints.C.

References Foam::abort(), polyTopoChange::addPoint(), Foam::FatalError, FatalErrorInFunction, forAll, VectorSpace< Form, Cmpt, Ncmpts >::max, List< T >::setSize(), and List< T >::size().

Referenced by meshRefinement::doRestorePoints().

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

◆ operator=()

void operator= ( const removePoints )
delete

Disallow default bitwise assignment.


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