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) | |
MeshObject (const Mesh &mesh, const IOobject &io) | |
virtual | ~MeshObject () |
const Mesh & | mesh () const |
virtual bool | writeData (Foam::Ostream &) const |
Static Public Member Functions | |
static Type & | New (Mesh &mesh) |
static const Type & | New (const Mesh &mesh) |
template<class... Args> | |
static Type & | New (Mesh &mesh, const Args &... args) |
template<class... Args> | |
static const Type & | New (const Mesh &mesh, const Args &... args) |
static bool | Delete (const Mesh &mesh) |
static bool | found (const Mesh &mesh) |
Return true if this MeshObject is found in the mesh registry. 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, DistributeableMeshObject, UpdateableMeshObject) and the type of the actual object it is created for example:
class leastSquaresVectors : public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors> { . . . //! 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 topoChange functions must exist, provided for MeshObjects of type UpdateableMeshObject.
Definition at line 87 of file MeshObject.H.
|
explicit |
Definition at line 31 of file MeshObject.C.
Referenced by MeshObject< fvMesh, MoveableMeshObject, CentredFitSnGradData< Polynomial > >::MeshObject().
MeshObject | ( | const Mesh & | mesh, |
const IOobject & | io | ||
) |
Definition at line 40 of file MeshObject.C.
|
virtual |
Definition at line 212 of file MeshObject.C.
|
static |
Definition at line 54 of file MeshObject.C.
Referenced by MeshObject< fvMesh, MoveableMeshObject, CentredFitSnGradData< Polynomial > >::MeshObject(), and MeshObject< fvMesh, MoveableMeshObject, CentredFitSnGradData< Polynomial > >::New().
|
static |
Definition at line 85 of file MeshObject.C.
|
static |
Definition at line 117 of file MeshObject.C.
|
static |
Definition at line 150 of file MeshObject.C.
|
static |
Definition at line 183 of file MeshObject.C.
|
static |
Return true if this MeshObject is found in the mesh registry.
Definition at line 222 of file MeshObject.C.
Referenced by MeshObject< fvMesh, MoveableMeshObject, CentredFitSnGradData< Polynomial > >::~MeshObject().
|
inline |
Definition at line 137 of file MeshObject.H.
|
inlinevirtual |
Reimplemented in fvModels, fvConstraints, and coordinateSystems.
Definition at line 142 of file MeshObject.H.
|
protected |
Definition at line 95 of file MeshObject.H.
Referenced by MeshObject< fvMesh, MoveableMeshObject, CentredFitSnGradData< Polynomial > >::mesh().