Loading...
Searching...
No Matches
removePoints Class Reference

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

#include <removePoints.H>

Public Member Functions

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

Detailed Description

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

Source files

Definition at line 56 of file removePoints.H.

Constructor & Destructor Documentation

◆ removePoints()

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

Construct from mesh.

Definition at line 126 of file removePoints.C.

References mesh.

Member Function Documentation

◆ ClassName()

ClassName ( "removePoints" )

Runtime type information.

References mesh.

◆ savedFaceLabels()

const labelList & savedFaceLabels ( ) const
inline

If undoable: affected face labels. Already restored faces will be -1.

Definition at line 135 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 139 of file removePoints.C.

References List< T >::clear(), edge::commonVertex(), e, f(), forAll, Foam::normalised(), edge::otherVertex(), points, Foam::returnReduce(), List< T >::setSize(), 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 287 of file removePoints.C.

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

Referenced by meshRefinement::doRemovePoints().

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

◆ updateMesh()

void updateMesh ( const mapPolyMesh & map)

Force recalculation of locally stored data on topological change.

Definition at line 443 of file removePoints.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, mapPolyMesh::reverseFaceMap(), mapPolyMesh::reversePointMap(), List< T >::setSize(), and UList< 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 544 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(), UList< 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 756 of file removePoints.C.

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

Referenced by meshRefinement::doRestorePoints().

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

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