66#ifndef polyTopoChange_H
67#define polyTopoChange_H
87class polyBoundaryMesh;
94template<
class T>
class CompactListList;
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,
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
A packed storage unstructured matrix of objects of type <T> using an offset table for access.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
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.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A face is a list of labels corresponding to mesh vertices.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
Mesh consisting of general polyhedral cells.
Direct mesh changes based on v1.3 polyTopoChange syntax.
void movePoints(const pointField &newPoints)
Move all points. Incompatible with other topology changes.
bool cellRemoved(const label celli) const
const DynamicList< face > & faces() const
label addPoint(const point &pt, const label masterPointID, const label zoneID, const bool inCell)
Add point. Return new point label.
void removeCell(const label celli, const label mergeCelli)
Remove/merge cell.
bool pointRemoved(const label pointi) const
void modifyPoint(const label pointi, const point &pt, const label zoneID, const bool inCell)
Modify coordinate.
label setAction(const topoAction &action)
For compatibility with polyTopoChange: set topological action.
const DynamicList< label > & region() const
void setNumPatches(const label nPatches)
void setCapacity(const label nPoints, const label nFaces, const label nCells)
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
void addMesh(const polyMesh &mesh, const labelUList &patchMap, const labelUList &pointZoneMap, const labelUList &faceZoneMap, const labelUList &cellZoneMap)
void removePoint(const label pointi, const label mergePointi)
Remove/merge point.
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 removeFace(const label facei, const label mergeFacei)
Remove/merge face.
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.
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.
ClassName("polyTopoChange")
Runtime type information.
autoPtr< mapPolyMesh > makeMesh(autoPtr< Type > &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. Additional dictionaries.
const DynamicList< point > & points() const
Points. Shrunk after constructing mesh (or calling of compact())
void clear()
Clear all storage.
const DynamicList< label > & faceNeighbour() const
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.
Cell-face mesh analysis engine.
A virtual base class for topological actions.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
OBJstream os(runTime.globalPath()/outputName)
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))
const labelIOList & zoneID
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
ListType reorder(const labelUList &oldToNew, const ListType &input, const bool prune=false)
Reorder the elements of a list.