37#ifndef Foam_faFaceZone_H
38#define Foam_faFaceZone_H
71 static constexpr const char*
labelsName() {
return "faceLabels"; }
127 const label newIndex = -1
138 const label newIndex = -1
180 const label newIndex = -1
216 label
whichFace(
const label meshFaceID)
const
autoPtr< List< label > > clone() const
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.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A subset of finite-area face elements.
faFaceZone(const faFaceZone &originalZone, const labelUList &addr, const label index, const faFaceZoneMesh &zm)
Construct with original zone information (name, groups), resetting the face list, the index and zone ...
virtual autoPtr< faFaceZone > clone(const faFaceZoneMesh &zm, const label newIndex=-1) const
Construct and return a clone, resetting the zone mesh.
label whichFace(const label meshFaceID) const
The local index of the given mesh face, -1 if not in the zone.
virtual void resetAddressing(const faFaceZone &zn)
Copy reset addressing from another zone.
faFaceZone(const word &name, const labelUList &addr, const label index, const faFaceZoneMesh &zm)
Construct from components.
faFaceZone(const faFaceZone &originalZone, Foam::zero, const label index, const faFaceZoneMesh &zm)
Construct empty with original zone information (name, groups), resetting the index and zone mesh refe...
void operator=(labelList &&addr)
Move assign addressing, clearing demand-driven data.
faFaceZone(const faFaceZone &originalZone, Foam::zero, const faFaceZoneMesh &zm, const label newIndex=-1)
Construct empty with original zone information (name, index, groups) and mesh reference.
virtual autoPtr< faFaceZone > clone(const labelUList &addr, const label index, const faFaceZoneMesh &zm) const
Construct and return a clone, resetting the face list and zone mesh.
TypeName("faFaceZone")
Runtime type information.
virtual bool checkDefinition(const bool report=false) const
Check zone definition. Return true if in error.
static constexpr const char * labelsName()
The name associated with the zone-labels dictionary entry.
virtual void write(Ostream &os) const
Write (dictionary entries).
void operator=(const labelUList &addr)
Assign addressing, clearing demand-driven data.
virtual bool checkParallelSync(const bool report=false) const
Check whether zone is synchronised across coupled boundaries.
faFaceZone(const faFaceZone &originalZone, labelList &&addr, const label index, const faFaceZoneMesh &zm)
Construct with original zone information (name, groups), resetting the face list, the index and zone ...
faFaceZone(const word &name, labelList &&addr, const label index, const faFaceZoneMesh &zm)
Construct from components, transferring addressing.
void operator=(const faFaceZone &zn)
Assign addressing, clearing demand-driven data.
faFaceZone(const faFaceZone &)=delete
No copy construct.
faFaceZone(const word &name, const label index, const faFaceZoneMesh &zm)
Construct an empty zone with specified name and index.
virtual ~faFaceZone()=default
Destructor.
faFaceZone(const word &name, const dictionary &dict, const label index, const faFaceZoneMesh &zm)
Construct from dictionary.
faFaceZone(const faFaceZone &originalZone, const faFaceZoneMesh &zm, const label newIndex=-1)
Copy construct with a new mesh reference.
label max_index() const noexcept
The maximum index the zone may contain == mesh nFaces().
virtual void resetAddressing(const labelUList &addr)
Copy assign addressing.
friend Ostream & operator<<(Ostream &os, const faFaceZone &zn)
Ostream Operator.
faFaceZone(const faFaceZoneMesh &zm)
Construct an empty zone - name="", index=0.
virtual void resetAddressing(faFaceZone &&zn)
Move reset addressing from another zone.
const faFaceZoneMesh & zoneMesh() const noexcept
Return reference to the zone mesh.
virtual void resetAddressing(labelList &&addr)
Move assign addressing.
A class for handling words, derived from Foam::string.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
label index() const noexcept
The index of this zone in the zone list.
virtual bool checkDefinition(const bool report=false) const =0
Check zone definition. Return true if in error.
label localID(const label globalID) const
Lookup local address in zone for given global index.
zone()
Default construct: empty zone with name="", index=0.
const labelList & addressing() const noexcept
The addressing used by the zone.
OBJstream os(runTime.globalPath()/outputName)
List< label > labelList
A List of labels.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
ZoneMesh< faFaceZone, faMesh > faFaceZoneMesh
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
UList< label > labelUList
A UList of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.