Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop. More...
Public Member Functions | |
MeshObject (const Mesh &mesh) | |
Construct on Mesh type. More... | |
virtual | ~MeshObject ()=default |
Destructor. More... | |
const Mesh & | mesh () const |
virtual bool | writeData (Ostream &os) const |
Static Public Member Functions | |
template<class... Args> | |
static const Type & | New (const Mesh &mesh, Args &&... args) |
Get existing or create a new MeshObject. More... | |
static bool | Delete (const Mesh &mesh) |
Static destructor. More... | |
Protected Attributes | |
const Mesh & | mesh_ |
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop.
MeshObject is templated on the type of mesh it is allocated to, the type of the mesh object (TopologicalMeshObject, GeometricMeshObject, MoveableMeshObject, UpdateableMeshObject) and the type of the actual object it is created for example:
class leastSquaresVectors : public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors> { . . . /*! * \brief Delete the least square vectors when the mesh moves */ virtual bool movePoints(); };
MeshObject types:
Note movePoints must be provided for MeshObjects of type MoveableMeshObject and both movePoints and updateMesh functions must exist, provided for MeshObjects of type UpdateableMeshObject.
SourceFiles MeshObject.C
\*—————————————————————————
Definition at line 84 of file MeshObject.H.
|
explicit |
Construct on Mesh type.
Definition at line 29 of file MeshObject.C.
|
virtualdefault |
Destructor.
|
static |
Get existing or create a new MeshObject.
Definition at line 41 of file MeshObject.C.
Referenced by CentredFitScheme< Type, Polynomial, Stencil >::correction(), CentredFitSnGradScheme< Type, Polynomial, Stencil >::correction(), PureUpwindFitScheme< Type, Polynomial, Stencil >::correction(), UpwindFitScheme< Type, Polynomial, Stencil >::correction(), dynamicOversetFvMesh::interpolate(), staticOversetFvMesh::interpolate(), oversetFvMeshBase::interpolateFields(), gravity::New(), oversetFvMeshBase::oversetFvMeshBase(), cellSetOption::setCellSelection(), LeastSquaresVectors< Stencil >::stencil(), oversetFvMeshBase::updateAddressing(), and oversetFvMeshBase::writeObject().
|
static |
Static destructor.
Definition at line 75 of file MeshObject.C.
|
inline |
Definition at line 126 of file MeshObject.H.
Referenced by masterCoarsestGAMGProcAgglomeration::masterCoarsestGAMGProcAgglomeration(), and faMesh::mesh().
|
inlinevirtual |
Definition at line 131 of file MeshObject.H.
|
protected |
Definition at line 92 of file MeshObject.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.