42 if (meshModPtr_.empty())
44 meshModPtr_.reset(
new polyTopoChange(mesh_));
66 if (meshModPtr_.valid())
69 <<
"Cannot change patches after having changed faces. " <<
nl 70 <<
"Please call changePatches first." 85 if (polyTopoChanger::debug)
96 <<
" patchID: " << patchID <<
". " 97 <<
"Labels out of range or internal face." 104 bool zoneFlip =
false;
117 mesh_.
faces()[faceID],
138 if (polyTopoChanger::debug)
153 mesh_.
faces()[faceID],
173 if (polyTopoChanger::debug)
186 if ((fp < 0) || (fp >= f.
size()))
189 <<
"Error in definition. Face point: " << fp
190 <<
"indexes out of face " << f
198 bool zoneFlip =
false;
236 newFace[i] = f[fVert++];
238 if (fVert == f.
size())
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
#define forAll(list, i)
Loop across all elements in list.
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.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Class describing modification of a face.
A face is a list of labels corresponding to mesh vertices.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual const labelList & faceNeighbour() const
Return face neighbour.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void size(const label)
Override size to be inconsistent with allocated storage.
const boolList & flipMap() const
Return face flip map.
void setFaceZone(const label faceID, const label zoneID, const bool zoneFlip)
Set zone ID for a face.
label whichFace(const label globalCellID) const
Helper function to re-direct to zone::localID(...)
void changeAnchorPoint(const label faceID, const label fp)
Change anchor point (zero'th point of face) for a boundary face.
void changePatchID(const label faceID, const label patchID)
Change patch ID for a boundary face. Note: patchID should be in new.
void repatch()
Re-patch the mesh.
virtual const labelList & faceOwner() const
Return face owner.
virtual const faceList & faces() const
Return raw faces.
void changePatches(const List< polyPatch *> &patches)
Change patches.
errorManip< error > abort(error &err)
void addPatches(const List< polyPatch *> &, const bool validBoundary=true)
Add boundary patches.
bool isInternalFace(const label faceIndex) const
Return true if given face label is internal to the mesh.
void removeBoundary()
Remove boundary patches.
label size() const
Return the number of elements in the UPtrList.
label whichZone(const label objectIndex) const
Given a global object index, return the zone it is in.
const meshFaceZones & faceZones() const
Return face zones.
Direct mesh changes based on v1.3 polyTopoChange syntax.
repatchPolyTopoChanger(polyMesh &mesh)
Construct for given mesh.
Mesh consisting of general polyhedral cells.
A subset of mesh faces organised as a primitive patch.
label whichPatch(const label faceIndex) const
Return patch index for a given face label.
label setAction(const topoAction &action)
For compatibility with polyTopoChange: set topological action.