74 #ifndef polyTopoChange_H 75 #define polyTopoChange_H 95 class polyBoundaryMesh;
228 static void renumberKey
242 static void renumberReverseMap
249 static void renumberCompact
271 static void getMergeSets
279 bool hasValidPoints(
const face&
f)
const;
298 const label nActiveFaces,
306 const label nActiveFaces,
320 const label nActiveFaces,
330 void reorderCompactFaces
343 const bool orderCells,
344 const bool orderPoints,
345 label& nInternalPoints,
355 const bool internalFacesOnly
359 void calcPatchPointMap
367 void calcFaceInflationMaps
375 void calcCellInflationMaps
393 void calcFaceZonePointMap
404 void reorderCoupledFaces
406 const bool syncParallel,
414 void compactAndReorder
418 const bool syncParallel,
419 const bool orderCells,
420 const bool orderPoints,
421 label& nInternalPoints,
483 return faceNeighbour_;
541 const label masterPointID,
553 const label masterPointID,
568 const bool multiZone =
false 584 void removePoint(
const label pointi,
const label mergePointi);
600 const label masterPointID,
601 const label masterEdgeID,
602 const label masterFaceID,
603 const bool flipFaceFlux,
616 const label masterPointID,
617 const label masterEdgeID,
618 const label masterFaceID,
619 const bool flipFaceFlux,
632 const bool flipFaceFlux,
636 const bool multiZone =
false 646 const bool flipFaceFlux,
653 void removeFace(
const label facei,
const label mergeFacei);
666 const label masterPointID,
667 const label masterEdgeID,
668 const label masterFaceID,
669 const label masterCellID,
676 const label masterPointID,
677 const label masterEdgeID,
678 const label masterFaceID,
679 const label masterCellID,
688 const bool multiZone =
false 695 void removeCell(
const label celli,
const label mergeCelli);
725 const bool syncParallel =
true,
726 const bool orderCells =
false,
727 const bool orderPoints =
false 735 const bool syncParallel =
true,
736 const bool orderCells =
false,
737 const bool orderPoints =
false 749 const bool syncParallel =
true,
750 const bool orderCells =
false,
751 const bool orderPoints =
false 762 const bool syncParallel =
true,
763 const bool orderCells =
false,
764 const bool orderPoints =
false
const labelIOList & zoneIDs
const DynamicList< label > & faceNeighbour() const
const DynamicList< face > & faces() const
void modifyCell(const label celli, const label zoneID, const bool multiZone=false)
Modify zone of cell. Optionally add to zone.
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...
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.
labelList faceLabels(nFaceLabels)
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.
label cellZones(const label celli, DynamicList< label > &zones) const
Get current cellZone(s). Return number of zones.
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.
label faceZones(const label facei, DynamicList< label > &zones, DynamicList< bool > &flips) const
Get current faceZone(s). Return number of zones.
const DynamicList< point > & points() const
Points. Shrunk after constructing mesh (or calling of compact())
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, const bool multiZone=false)
Modify vertices or cell of face.
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 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 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.
void modifyPoint(const label pointi, const point &pt, const label zoneID, const bool inCell, const bool multiZone=false)
Modify coordinate.
label pointZones(const label pointi, DynamicList< label > &zones) const
Get current cellZone(s). Return number of zones.
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.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
bool faceRemoved(const label facei) const
Is face removed? Considered removed if face is empty.
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.