dune-geometry
2.2.0
|
Provide a factory over the generic topologies. More...
#include <dune/geometry/topologyfactory.hh>
Classes | |
struct | Maker |
Public Types | |
typedef Traits::Key | Key |
typedef Traits::Object | Object |
typedef Traits::Factory | Factory |
Static Public Member Functions | |
static Object * | create (unsigned int topologyId, const Key &key) |
dynamically create objects | |
static Object * | create (const Dune::GeometryType >, const Key &key) |
dynamically create objects | |
template<class Topology > | |
static Object * | create (const Key &key) |
statically create objects | |
static void | release (Object *object) |
release the object returned by the create methods | |
Static Public Attributes | |
static const unsigned int | dimension = Traits::dimension |
Provide a factory over the generic topologies.
This class can be used to dynamically create objects statically bound by their generic topologies. The method create() returns a pointer to an object depending on the topology id and a key; the dimension corresponding to the topology id is static and is provided by the Traits class. A static method (taking the Topology as template argument) is also provided. The Traits class must provide the space dimension, the types for the key (Key), the objects returned (Object), and the underlying factory (Factory). This class must have a template method createObject taking a key and returning a pointer to the newly create Object - for destruction call the release method.
typedef Traits::Factory Dune::TopologyFactory< Traits >::Factory |
typedef Traits::Key Dune::TopologyFactory< Traits >::Key |
typedef Traits::Object Dune::TopologyFactory< Traits >::Object |
static Object* Dune::TopologyFactory< Traits >::create | ( | unsigned int | topologyId, |
const Key & | key | ||
) | [inline, static] |
dynamically create objects
References Dune::GenericGeometry::topologyId().
static Object* Dune::TopologyFactory< Traits >::create | ( | const Dune::GeometryType & | gt, |
const Key & | key | ||
) | [inline, static] |
dynamically create objects
References Dune::GeometryType::id().
static Object* Dune::TopologyFactory< Traits >::create | ( | const Key & | key | ) | [inline, static] |
statically create objects
static void Dune::TopologyFactory< Traits >::release | ( | Object * | object | ) | [inline, static] |
release the object returned by the create methods
const unsigned int Dune::TopologyFactory< Traits >::dimension = Traits::dimension [static] |