74 #ifndef Foam_MeshObject_H 75 #define Foam_MeshObject_H 121 template<
class Mesh,
template<
class>
class MeshObjectType>
130 template<
class>
class FromType,
131 template<
class>
class ToType
141 template<
class Mesh,
template<
class>
class MeshObjectType,
class Type>
144 public MeshObjectType<Mesh>
170 template<
class... Args>
171 static const Type&
New(
const Mesh&
mesh, Args&&...
args);
174 template<
class... Args>
175 static const Type&
New 183 static bool Store(std::unique_ptr<Type>&& ptr);
196 static std::unique_ptr<Type>
Release 201 const bool checkout =
false 207 static std::unique_ptr<Type>
Release 211 const bool checkout =
false 239 class TopologicalMeshObject
static void updateMesh(objectRegistry &obr, const mapPolyMesh &mpm)
Update topology using the given map.
static void clearUpto(objectRegistry &obr)
Clear all meshObject derived from FromType up to (but not including) ToType.
MoveableMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
static const Type & New(const Mesh &mesh, Args &&... args)
Get existing or create MeshObject registered with typeName.
The meshObject is a concrete regIOobject to register MeshObject items.
static bool Store(std::unique_ptr< Type > &&ptr)
Transfer ownership of meshObject to registry.
virtual void updateMesh(const mapPolyMesh &mpm)=0
Update topology using the given map.
static void clear(objectRegistry &obr)
Clear/remove all meshObject of MeshObjectType via objectRegistry::checkOut()
virtual bool writeData(Ostream &os) const
Dummy write.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
TopologicalMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
meshObject(const word &objName, const objectRegistry &obr)
Construct with given object name on a registry.
const Mesh & mesh() const noexcept
Reference to the mesh.
A class for handling words, derived from Foam::string.
virtual bool movePoints()=0
Update for mesh motion.
virtual ~MeshObject()=default
Destructor.
const Mesh & mesh_
Reference to the mesh.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
static std::unique_ptr< Type > Release(const word &objName, const Mesh &mesh, const bool checkout=false)
Release ownership of meshObject (with given registration name) from registry. Returns nullptr if not ...
static void movePoints(objectRegistry &obr)
Update for mesh motion.
ClassName("meshObject")
Runtime declaration and debug switch.
static bool Delete(const word &objName, const Mesh &mesh)
Static destructor using given registration name.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Registry of regIOobjects.
Foam::argList args(argc, argv)
MeshObject(const Mesh &mesh)
Construct with Type::typeName on Mesh.
GeometricMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
UpdateableMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.