39#ifndef edgeCollapser_H
40#define edgeCollapser_H
90 const scalar guardFraction_;
93 const scalar maxCollapseFaceToPointSideLengthCoeff_;
97 const bool allowEarlyCollapseToPoint_;
101 const scalar allowEarlyCollapseCoeff_;
121 const vector& collapseAxis,
147 void faceCollapseAxisAndAspectRatio
165 const scalar targetFaceSize,
173 label edgeMaster(
const labelList& pointPriority,
const edge&
e)
const;
176 void checkBoundaryPointMergeEdges
179 const label otherPointi,
187 label breakStringsAtEdges
189 const bitSet& markedEdges,
197 void determineDuplicatePointsOnFace
208 label countEdgesOnFace
294 const bool allowCellCollapse =
false
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A HashTable to objects of type <T> with a label key.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Does polyTopoChanges to remove edges. Can remove faces due to edge collapse but can not remove cells ...
labelPair markSmallSliverFaces(const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Find small faces and sliver faces in the mesh and mark the.
void consistentCollapse(const globalIndex &globalPoints, const labelList &pointPriority, const Map< point > &collapsePointToLocation, bitSet &collapseEdge, List< pointEdgeCollapse > &allPointInfo, const bool allowCellCollapse=false) const
Ensure that the collapse is parallel consistent and update.
bool setRefinement(const List< pointEdgeCollapse > &allPointInfo, polyTopoChange &meshMod) const
Play commands into polyTopoChange to create mesh.
static label checkMeshQuality(const polyMesh &mesh, const dictionary &meshQualityDict, bitSet &isErrorPoint)
Check mesh and mark points on faces in error.
ClassName("edgeCollapser")
Runtime type information.
label markSmallEdges(const scalarField &minEdgeLen, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Mark (in collapseEdge) any edges to collapse.
static labelHashSet checkBadFaces(const polyMesh &mesh, const dictionary &meshQualityDict)
Calls motionSmoother::checkMesh and returns a set of bad faces.
label markMergeEdges(const scalar maxCos, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Mark (in collapseEdge) any edges to merge.
labelPair markFaceZoneEdges(const faceZone &fZone, const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Marks edges in the faceZone indirectPatchFaces for collapse.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
A subset of mesh faces organised as a primitive patch.
A face is a list of labels corresponding to mesh vertices.
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
Calculates points shared by more than two processor patches or cyclic patches.
Mesh consisting of general polyhedral cells.
Direct mesh changes based on v1.3 polyTopoChange syntax.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
label collapseEdge(triSurface &surf, const scalar minLen)
Keep collapsing all edges < minLen.
Pair< label > labelPair
A pair of labels.
List< label > labelList
A List of labels.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.
List< scalar > scalarList
List of scalar.
labelList pointLabels(nPoints, -1)
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...