63 #ifndef polyTopoChange_H
64 #define polyTopoChange_H
86 class polyBoundaryMesh;
92 template<
class T>
class CompactListList;
239 static void getMergeSets
247 bool hasValidPoints(
const face&)
const;
266 const label nActiveFaces,
274 const label nActiveFaces,
288 const label nActiveFaces,
298 void reorderCompactFaces
316 const bool orderCells,
317 const bool orderPoints,
318 label& nInternalPoints,
336 const bool internalFacesOnly
340 void calcPatchPointMap
347 void calcFaceInflationMaps
355 void calcCellInflationMaps
373 void calcFaceZonePointMap
384 void reorderCoupledFaces
386 const bool syncParallel,
393 void compactAndReorder
396 const bool syncParallel,
397 const bool orderCells,
398 const bool orderPoints,
399 label& nInternalPoints,
461 return faceNeighbour_;
512 const label masterPointID,
524 const label newZoneID,
536 const point& newPosition,
537 const point& oldPosition,
538 const label masterPointID,
548 const point& newPosition,
549 const point& oldPosition,
550 const label newZoneID
563 const label masterPointID,
564 const label masterEdgeID,
565 const label masterFaceID,
566 const bool flipFaceFlux,
579 const bool flipFaceFlux,
591 const label masterPointID,
592 const label masterEdgeID,
593 const label masterFaceID,
594 const label masterCellID,
627 const bool syncParallel =
true,
628 const bool orderCells =
false,
629 const bool orderPoints =
false
638 const bool syncParallel =
true,
639 const bool orderCells =
false,
640 const bool orderPoints =
false
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A face is a list of labels corresponding to mesh vertices.
Mesh consisting of general polyhedral cells.
Direct mesh changes based on v1.3 polyTopoChange syntax.
autoPtr< polyTopoChangeMap > changeMesh(polyMesh &mesh, const bool inflate, const bool syncParallel=true, const bool orderCells=false, const bool orderPoints=false)
Inplace changes mesh without change of patches.
void removePoint(const label, const label)
Remove/merge point.
void movePoints(const pointField &newPoints)
Move all points. Incompatible with other topology changes.
autoPtr< polyTopoChangeMap > makeMesh(autoPtr< fvMesh > &newMesh, const IOobject &io, const polyMesh &mesh, const bool syncParallel=true, const bool orderCells=false, const bool orderPoints=false)
Create new mesh with old mesh patches.
void addMesh(const polyMesh &, const labelList &patchMap, const labelList &pointZoneMap, const labelList &faceZoneMap, const labelList &cellZoneMap)
Add all points/faces/cells of mesh. Additional offset for patch.
bool cellRemoved(const label celli) const
Is cell removed?
polyTopoChange(const label nPatches, const bool strict=true)
Construct without mesh. Either specify nPatches or use.
bool pointRemoved(const label pointi) const
Is point removed?
const DynamicList< face > & faces() const
label setAction(const topoAction &action)
For compatibility with polyTopoChange: set topological action.
const DynamicList< point > & points() const
Points. Shrunk after constructing mesh (or calling of compact())
void removeFace(const label, const label)
Remove/merge face.
void setNumPatches(const label nPatches)
Explicitly set the number of patches if construct-without-mesh.
void setCapacity(const label nPoints, const label nFaces, const label nCells)
Explicitly pre-size the dynamic storage for expected mesh.
label addCell(const label masterPointID, const label masterEdgeID, const label masterFaceID, const label masterCellID, const label zoneID)
Add cell. Return new cell label.
bool faceRemoved(const label facei) const
Is face removed?
void modifyFace(const face &f, const label facei, const label own, const label nei, const bool flipFaceFlux, const label patchID, const label zoneID, const bool zoneFlip)
Modify vertices or cell of face.
void modifyCell(const label, const label zoneID)
Modify zone of cell.
label addPoint(const point &, const label masterPointID, const label zoneID, const bool inCell)
Add point. Return new point label.
const DynamicList< label > & faceOwner() const
label addFace(const face &f, const label own, const label nei, const label masterPointID, const label masterEdgeID, const label masterFaceID, const bool flipFaceFlux, const label patchID, const label zoneID, const bool zoneFlip)
Add face to cells. Return new face label.
ClassName("polyTopoChange")
Runtime type information.
const DynamicList< label > & faceNeighbour() const
void clear()
Clear all storage.
void removeCell(const label, const label)
Remove/merge cell.
const DynamicList< label > & region() const
void modifyPoint(const label, const point &, const label newZoneID, const bool inCell)
Modify coordinate.
Cell-face mesh analysis engine.
A virtual base class for topological actions.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
ListType reorder(const labelUList &oldToNew, const ListType &)
Reorder the elements (indices, not values) of a list.