Loading...
Searching...
No Matches
Dune::TopologyFactory< Traits > Struct Template Reference

Provide a factory over the generic topologies. More...

`#include <dune/geometry/topologyfactory.hh>`

## Public Types

typedef Traits::Key | Key
typedef Traits::Object | Object
typedef Traits::Factory | Factory

## Static Public Member Functions

static Object * | create (const Dune::GeometryType &gt, const Key &key)
| dynamically create objects
template<GeometryType::Id geometryId>
static Object * | create (const Key &key)
| statically 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

## Detailed Description

template<class Traits>
struct Dune::TopologyFactory< Traits >

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.

## Member Typedef Documentation

## Factory

template<class Traits>

typedef Traits::Factory Dune::TopologyFactory< Traits >::Factory

## Key

template<class Traits>

typedef Traits::Key Dune::TopologyFactory< Traits >::Key

## Object

template<class Traits>

typedef Traits::Object Dune::TopologyFactory< Traits >::Object

## Member Function Documentation

## create() [1/3]

template<class Traits>

Object * Dune::TopologyFactory< Traits >::create | ( | const Dune::GeometryType & | gt,
|  | const Key & | key )

inline static

dynamically create objects

## create() [2/3]

template<class Traits>
template<class Topology>

Object * Dune::TopologyFactory< Traits >::create | ( | const Key & | key | ) |

inline static

statically create objects

## create() [3/3]

template<class Traits>
template<GeometryType::Id geometryId>

Object * Dune::TopologyFactory< Traits >::create | ( | const Key & | key | ) |

inline static

statically create objects

## release()

template<class Traits>

void Dune::TopologyFactory< Traits >::release | ( | Object * | object | ) |

inline static

release the object returned by the create methods

## Member Data Documentation

## dimension

template<class Traits>

const unsigned int Dune::TopologyFactory< Traits >::dimension = Traits::dimension

static

The documentation for this struct was generated from the following file:

- topologyfactory.hh