Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
MeshObject< Mesh, MeshObjectType, Type > Class Template Reference

Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop. More...

Inheritance diagram for MeshObject< Mesh, MeshObjectType, Type >:
Inheritance graph
[legend]
Collaboration diagram for MeshObject< Mesh, MeshObjectType, Type >:
Collaboration graph
[legend]

Public Member Functions

 MeshObject (const Mesh &mesh)
 
virtual ~MeshObject ()
 
const Mesh & mesh () const
 
virtual bool writeData (Foam::Ostream &) const
 

Static Public Member Functions

static const Type & New (const Mesh &mesh)
 
template<class Data1 >
static const Type & New (const Mesh &mesh, const Data1 &d)
 
template<class Data1 , class Data2 >
static const Type & New (const Mesh &mesh, const Data1 &, const Data2 &)
 
template<class Data1 , class Data2 , class Data3 >
static const Type & New (const Mesh &mesh, const Data1 &, const Data2 &, const Data3 &)
 
template<class Data1 , class Data2 , class Data3 , class Data4 >
static const Type & New (const Mesh &mesh, const Data1 &, const Data2 &, const Data3 &, const Data4 &)
 
static bool Delete (const Mesh &mesh)
 

Protected Attributes

const Mesh & mesh_
 

Detailed Description

template<class Mesh, template< class > class MeshObjectType, class Type>
class Foam::MeshObject< Mesh, MeshObjectType, Type >

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> {! Delete the least square vectors when the mesh moves virtual bool movePoints(); };

MeshObject types:

TopologicalMeshObject: mesh object to be deleted on topology change GeometricMeshObject: mesh object to be deleted on geometry change MoveableMeshObject: mesh object to be updated in movePoints UpdateableMeshObject: mesh object to be updated in updateMesh or movePoints

Note that movePoints must be provided for MeshObjects of type MoveableMeshObject and both movePoints and updateMesh functions must exist provided for MeshObjects of type UpdateableMeshObject.

Source files

Definition at line 81 of file MeshObject.H.

Constructor & Destructor Documentation

MeshObject ( const Mesh &  mesh)
explicit

Definition at line 33 of file MeshObject.C.

References MeshObject< Mesh, MeshObjectType, Type >::New().

Here is the call graph for this function:

~MeshObject ( )
virtual

Definition at line 279 of file MeshObject.C.

Member Function Documentation

const Type & New ( const Mesh &  mesh)
static

Definition at line 44 of file MeshObject.C.

References Foam::endl(), OSstream::name(), Foam::Pout, and regIOobject::store().

Referenced by MeshObject< Mesh, MeshObjectType, Type >::MeshObject(), and MeshObject< Mesh, MeshObjectType, Type >::New().

Here is the call graph for this function:

Here is the caller graph for this function:

const Type & New ( const Mesh &  mesh,
const Data1 &  d 
)
static

Definition at line 82 of file MeshObject.C.

References Foam::endl(), OSstream::name(), MeshObject< Mesh, MeshObjectType, Type >::New(), Foam::Pout, and regIOobject::store().

Here is the call graph for this function:

const Type & New ( const Mesh &  mesh,
const Data1 &  d1,
const Data2 &  d2 
)
static

Definition at line 121 of file MeshObject.C.

References Foam::endl(), OSstream::name(), MeshObject< Mesh, MeshObjectType, Type >::New(), Foam::Pout, and regIOobject::store().

Here is the call graph for this function:

const Type & New ( const Mesh &  mesh,
const Data1 &  d1,
const Data2 &  d2,
const Data3 &  d3 
)
static

Definition at line 163 of file MeshObject.C.

References Foam::endl(), OSstream::name(), MeshObject< Mesh, MeshObjectType, Type >::New(), Foam::Pout, and regIOobject::store().

Here is the call graph for this function:

const Type & New ( const Mesh &  mesh,
const Data1 &  d1,
const Data2 &  d2,
const Data3 &  d3,
const Data4 &  d4 
)
static

Definition at line 203 of file MeshObject.C.

References Foam::endl(), OSstream::name(), Foam::Pout, and regIOobject::store().

Here is the call graph for this function:

bool Delete ( const Mesh &  mesh)
static

Definition at line 244 of file MeshObject.C.

References Foam::endl(), and Foam::Pout.

Here is the call graph for this function:

const Mesh& mesh ( ) const
inline

Definition at line 144 of file MeshObject.H.

virtual bool writeData ( Foam::Ostream ) const
inlinevirtual

Definition at line 149 of file MeshObject.H.

Member Data Documentation

const Mesh& mesh_
protected

The documentation for this class was generated from the following files: