41 #ifndef Foam_polySurface_H 42 #define Foam_polySurface_H 57 class polySurfaceGeoMesh;
58 class polySurfacePointGeoMesh;
60 template<
class Face>
class MeshedSurface;
133 static_cast<const MeshReference&
>(*this)
177 const word& surfName,
179 bool doCheckIn =
false 190 bool doCheckIn =
false 201 bool doCheckIn =
false 237 virtual label
nFaces()
const 243 virtual label
size()
const 352 const word& fieldName,
359 template<
class GeoMeshType =
void>
366 template<
class GeoMeshType =
void>
370 template<
class DataType>
394 template<
class Type,
class GeoMeshType = polySurfaceGeoMesh>
398 const word& fieldName,
408 template<
class Type,
class GeoMeshType = polySurfaceGeoMesh>
412 const word& fieldName,
423 template<
class Type,
class GeoMeshType = polySurfaceGeoMesh>
427 const word& fieldName,
439 const bool writeOnProc
464 const regIOobject* polySurface::findFieldObject<polySurfaceGeoMesh>
466 const word& fieldName
472 const regIOobject* polySurface::findFieldObject<polySurfacePointGeoMesh>
474 const word& fieldName
481 const objectRegistry* polySurface::whichRegistry<polySurfaceGeoMesh>
483 const word& fieldName
489 const objectRegistry* polySurface::whichRegistry<polySurfaceGeoMesh>
491 const word& fieldName
498 polySurface::fieldData<polySurfacePointGeoMesh>()
const A surface mesh consisting of general polygon faces and capable of holding fields. ...
Data associated with points.
const Field< point_type > & faceAreas() const
Return face area vectors for patch.
const_iterator cend() const noexcept
Return const_iterator to end traversing the constant UList.
const vectorField & Sf() const
Return face area vectors (normals)
TypeName("polySurface")
Runtime type information.
void clearAddressing()
Clear addressing.
const objectRegistry & fieldData() const
Regular data are stored directly on the registry.
virtual const faceList & faces() const
Return faces.
Data associated with faces or points.
static bool Delete(const word &surfName, const objectRegistry &)
Remove named surface from specified registry.
void operator=(const polySurface &)=delete
No copy assignment.
DimensionedField< Type, GeoMeshType > & storeField(const word &fieldName, const dimensionSet &dims, const Field< Type > &values)
Copy/store named field as face or point data (template parameter).
void clearGeom()
Clear geometry.
static polySurface & New(const word &surfName, const objectRegistry &)
Get or create (NO_READ, NO_WRITE) named surface on registry.
A simple container for options an IOstream can normally have.
virtual label nPoints() const
Return the number of points.
const vectorField & Cf() const
Face centres.
const Field< scalar > & magFaceAreas() const
Return face area magnitudes for patch.
StringType validate(const std::string &str, const UnaryPredicate &accept, const bool invert=false)
Return a copy of the input string with validated characters.
Abstract definition of a meshed surface defined by faces and points.
FieldAssociation queryFieldAssociation(const word &fieldName) const
Query the field association (FACE or POINT)
const objectRegistry & pointData() const
Point data are stored in a sub-registry.
List< face > faceList
List of faces.
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
virtual label size() const
Return number of faces.
A list of faces which address into the list of points.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
bool BoundaryMesh
Placeholder only, for GeoMesh.
faceList & storedFaces()
Non-const access to the faces.
vectorField pointField
pointField is a vectorField.
void clearPrimitives()
Clear primitive data (points, faces and cells)
label nPointData() const
Number of entries on PointData sub-registry (if it exists)
A class for handling words, derived from Foam::string.
void clearFields()
Clear stored fields.
const Field< point_type > & faceCentres() const
Return face centres for patch.
FieldAssociation
Enumeration for the field association.
label nFaceData() const
Number of main entries, without PointData sub-registry.
const Field< point_type > & points() const noexcept
Return reference to global points.
iterator begin() noexcept
Return an iterator to begin traversing the UList.
polySurface(const polySurface &)=delete
No copy construct.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const objectRegistry & faceData() const
Face data are stored directly on the registry.
const objectRegistry * whichRegistry(const word &fieldName) const
General finding of the registry with the field object (FACE or POINT).
label size() const noexcept
The number of elements in the container.
const regIOobject * findFieldObject(const word &fieldName, const FieldAssociation association) const
Find the field object with the given name and required FieldAssociation (FACE or POINT).
Data associated with faces.
virtual const labelList & zoneIds() const
Const access to per-face zone/region information (demand-driven)
const scalarField & magSf() const
Return face area magnitudes.
virtual ~polySurface()
Destructor.
polySurface Mesh
Typedef required for GeoMesh.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc) const
Write - this is a no-op.
void transfer(pointField &&points, faceList &&faces, labelList &&zoneIds=labelList())
Transfer the contents (and annul the parameters). Removes existing fields.
void copySurface(const pointField &points, const faceList &faces, bool unused=false)
Update with new contents. Removes existing fields if sizes have changed.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static const word pointDataName
Name for point fields sub-registry.
pointField & storedPoints()
Non-const access to points.
DimensionedField< Type, GeoMeshType > & newField(const word &fieldName, const dimensionSet &dims)
Create/store named zero field as face or point data (template parameter).
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
const_iterator cbegin() const noexcept
Return const_iterator to begin traversing the constant UList.
Field< vector > vectorField
Specialisation of Field<T> for vector.
iterator end() noexcept
Return an iterator to end traversing the UList.
List< label > labelList
A List of labels.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Registry of regIOobjects.
void clearOut()
Clear all geometry and addressing unnecessary for CFD.
Defines the attributes of an object for which implicit objectRegistry management is supported...
virtual label nFaces() const
Return the number of faces.
virtual const pointField & points() const
Return points.