66 #ifndef polyTopoChange_H 67 #define polyTopoChange_H 87 class polyBoundaryMesh;
218 static void renumberKey
232 static void renumberReverseMap
239 static void renumberCompact
261 static void getMergeSets
269 bool hasValidPoints(
const face&
f)
const;
288 const label nActiveFaces,
296 const label nActiveFaces,
310 const label nActiveFaces,
320 void reorderCompactFaces
333 const bool orderCells,
334 const bool orderPoints,
335 label& nInternalPoints,
345 const bool internalFacesOnly
349 void calcPatchPointMap
357 void calcFaceInflationMaps
365 void calcCellInflationMaps
383 void calcFaceZonePointMap
394 void reorderCoupledFaces
396 const bool syncParallel,
404 void compactAndReorder
408 const bool syncParallel,
409 const bool orderCells,
410 const bool orderPoints,
411 label& nInternalPoints,
473 return faceNeighbour_;
531 const label masterPointID,
549 void removePoint(
const label pointi,
const label mergePointi);
558 const label masterPointID,
559 const label masterEdgeID,
560 const label masterFaceID,
561 const bool flipFaceFlux,
574 const bool flipFaceFlux,
581 void removeFace(
const label facei,
const label mergeFacei);
586 const label masterPointID,
587 const label masterEdgeID,
588 const label masterFaceID,
589 const label masterCellID,
594 void modifyCell(
const label celli,
const label zoneID);
597 void removeCell(
const label celli,
const label mergeCelli);
623 const bool syncParallel =
true,
624 const bool orderCells =
false,
625 const bool orderPoints =
false 633 const bool syncParallel =
true,
634 const bool orderCells =
false,
635 const bool orderPoints =
false 647 const bool syncParallel =
true,
648 const bool orderCells =
false,
649 const bool orderPoints =
false 660 const bool syncParallel =
true,
661 const bool orderCells =
false,
662 const bool orderPoints =
false
void modifyPoint(const label pointi, const point &pt, const label zoneID, const bool inCell)
Modify coordinate.
const DynamicList< label > & faceNeighbour() const
const DynamicList< face > & faces() const
A face is a list of labels corresponding to mesh vertices.
polyTopoChange(const label nPatches, const bool strict=true)
Construct without mesh. Either specify nPatches or use setNumPatches before trying to make a mesh (ma...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Cell-face mesh analysis engine.
const DynamicList< label > & region() const
An objectMap is a pair of labels defining the mapping of an object from another object, e.g. a cell mapped from a point.
autoPtr< mapPolyMesh > changeMesh(polyMesh &mesh, const labelUList &patchMap, const bool inflate, const bool syncParallel=true, const bool orderCells=false, const bool orderPoints=false)
Inplace changes mesh without change of patches.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
void clear()
Clear all storage.
label addCell(const label masterPointID, const label masterEdgeID, const label masterFaceID, const label masterCellID, const label zoneID)
Add cell. Return new cell label.
bool cellRemoved(const label celli) const
Is cell removed? Considered removed if the cellMap is -2.
ClassName("polyTopoChange")
Runtime type information.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
void setNumPatches(const label nPatches)
Explicitly set the number of patches if construct-without-mesh used.
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.
autoPtr< mapPolyMesh > makeMesh(autoPtr< Type > &newMesh, const IOobject &io, const polyMesh &mesh, const labelUList &patchMap, const bool syncParallel=true, const bool orderCells=false, const bool orderPoints=false)
Create new mesh with old mesh patches. Additional dictionaries.
void removeCell(const label celli, const label mergeCelli)
Remove/merge cell.
const DynamicList< point > & points() const
Points. Shrunk after constructing mesh (or calling of compact())
void shrink()
Shrink storage (does not remove any elements; just compacts dynamic lists.
A virtual base class for topological actions.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
void setCapacity(const label nPoints, const label nFaces, const label nCells)
Explicitly pre-size the dynamic storage for expected mesh size for if construct-without-mesh.
A packed storage unstructured matrix of objects of type <T> using an offset table for access...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void movePoints(const pointField &newPoints)
Move all points. Incompatible with other topology changes.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
void modifyCell(const label celli, const label zoneID)
Modify zone of cell.
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 addMesh(const polyMesh &mesh, const labelUList &patchMap, const labelUList &pointZoneMap, const labelUList &faceZoneMap, const labelUList &cellZoneMap)
Add all points/faces/cells of mesh. Additional offset for patch or zone ids.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void removePoint(const label pointi, const label mergePointi)
Remove/merge point.
Direct mesh changes based on v1.3 polyTopoChange syntax.
bool pointRemoved(const label pointi) const
Is point removed? Considered removed if point is GREAT.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
label addPoint(const point &pt, const label masterPointID, const label zoneID, const bool inCell)
Add point. Return new point label.
bool faceRemoved(const label facei) const
Is face removed? Considered removed if face is empty.
ListType reorder(const labelUList &oldToNew, const ListType &input, const bool prune=false)
Reorder the elements of a list.
void removeFace(const label facei, const label mergeFacei)
Remove/merge face.
Defines the attributes of an object for which implicit objectRegistry management is supported...
const DynamicList< label > & faceOwner() const
label setAction(const topoAction &action)
For compatibility with polyTopoChange: set topological action.