43 #ifndef Foam_faceZone_H 44 #define Foam_faceZone_H 89 mutable std::unique_ptr<primitiveFacePatch> patchPtr_;
92 mutable std::unique_ptr<labelList> frontCellsPtr_;
95 mutable std::unique_ptr<labelList> backCellsPtr_;
98 mutable std::unique_ptr<labelList> mePtr_;
104 void setFlipMap(
const bool val);
107 void calcFaceZonePatch()
const;
110 void calcCellLayers()
const;
113 void checkAddressing()
const;
169 const bool flipMapValue,
180 const bool flipMapValue,
221 const label newIndex = -1
282 static autoPtr<faceZone>
New 285 const dictionary&
dict,
303 return static_cast<const labelList&
>(*this);
310 label
whichFace(
const label globalCellID)
const;
372 const bool flipMapValue
380 const bool flipMapValue
static autoPtr< faceZone > New(const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm)
Return a pointer to a new face zone created on freestore from dictionary.
virtual void movePoints(const pointField &pts)
Correct patch after moving points.
ZoneMesh< faceZone, polyMesh > faceZoneMesh
A ZoneMesh with the type faceZone.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual bool checkParallelSync(const bool report=false) const
Check whether all procs have faces synchronised.
const labelList & frontCells() const
The front cells layer. Cells on the positive normal side of faces.
label whichFace(const label globalCellID) const
Helper function to re-direct to zone::localID(...)
const labelList & slaveCells() const
Deprecated(2023-09) same as backCells.
faceZone(const faceZone &)=delete
No copy construct.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const labelList & backCells() const
The back cells layer. Cells on the negative normal side of faces.
void operator=(const faceZone &zn)
Assign addressing, clearing demand-driven data.
const labelList & masterCells() const
Deprecated(2023-09) same as frontCells.
A list of faces which address into the list of points.
const faceZoneMesh & zoneMesh() const noexcept
Return reference to the zone mesh.
Base class for mesh zones.
A class for handling words, derived from Foam::string.
virtual void writeDict(Ostream &os) const
Write dictionary.
virtual void resetAddressing(faceZone &&zn)
Move reset addressing and flip map from another zone.
virtual void clearPrimitives()
Clear primitive addressing.
const labelList & meshEdges() const
Return global edge index for local edges.
const primitiveFacePatch & patch() const
Return [demand-driven] reference to an equivalent primitive patch, with faces oriented according to f...
virtual void write(Ostream &os) const
Write.
const labelList & addressing() const noexcept
The addressing (face IDs) used for the zone.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
label index() const noexcept
The index of this zone in the zone list.
OBJstream os(runTime.globalPath()/outputName)
virtual void clearAddressing()
Clear addressing (remove lookup maps, patch/geometric information)
static const char *const labelsName
The name associated with the zone-labels dictionary entry ("faceLabels")
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
virtual ~faceZone()=default
Destructor.
const primitiveFacePatch & operator()() const
Deprecated(2023-09) same as patch()
virtual void updateMesh(const mapPolyMesh &mpm)
Update for changes in topology.
const word & name() const noexcept
The zone name.
virtual bool checkDefinition(const bool report=false) const
Check zone definition. Return true if in error.
friend Ostream & operator<<(Ostream &os, const faceZone &zn)
Ostream Operator.
autoPtr< List< label > > clone() const
Clone.
const boolList & flipMap() const noexcept
Return face flip map.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
declareRunTimeSelectionTable(autoPtr, faceZone, dictionary,(const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm),(name, dict, index, zm))
A subset of mesh faces organised as a primitive patch.
List< label > labelList
A List of labels.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
TypeName("faceZone")
Runtime type information.