3 #ifndef DUNE_GEOMETRY_GENERICGEOMETRY_CONVERSION_HH 4 #define DUNE_GEOMETRY_GENERICGEOMETRY_CONVERSION_HH 6 #include <dune/common/visibility.hh> 15 namespace GenericGeometry
29 template<
class Topology, GeometryType::BasicType linetype >
32 template< GeometryType::BasicType linetype >
37 "Parameter linetype may only be a simplex or a cube.");
40 static const unsigned int dimension = 0;
44 template<
class BaseTopology, GeometryType::BasicType linetype >
51 "Parameter linetype may only be a simplex or a cube.");
55 "Only prisms over simplices or cubes can be converted.");
58 static const unsigned int dimension = DuneBaseGeometryType::dimension + 1;
67 template<
class BaseTopology, GeometryType::BasicType linetype >
74 "Parameter linetype may only be a simplex or a cube.");
78 "Only pyramids over simplices or cubes can be converted.");
81 static const unsigned int dimension = DuneBaseGeometryType::dimension + 1;
106 template<
unsigned int dim, GeometryType::BasicType linetype >
110 static const unsigned int dimension = dim;
116 GeometryType types_[ (dimension>=1) ? numTopologies / 2 : numTopologies ];
133 assert( topologyId < numTopologies );
134 return instance().types_[ topologyId / 2 ];
142 template< GeometryType :: BasicType type,
unsigned int dim >
145 template<
unsigned int dim >
159 template<
unsigned int dim >
172 template<
unsigned int dim >
180 template<
unsigned int dim >
192 #endif // #ifndef DUNE_GEOMETRY_GENERICGEOMETRY_CONVERSION_HH Four sided pyramid in three dimensions.
Definition: type.hh:32
Definition: topologytypes.hh:25
dynamically convert a generic topology type into a GeometryType
Definition: conversion.hh:107
Cube element in any nonnegative dimension.
Definition: type.hh:31
static const GeometryType & type(unsigned int topologyId)
obtain a Geometry type from a topology id
Definition: conversion.hh:131
statically convert a generic topology type into a GeometryType
Definition: conversion.hh:30
Pyramid< typename Convert< GeometryType::cube, dim-1 >::type > type
Definition: conversion.hh:185
Definition: topologytypes.hh:73
BasicType
Each entity can be tagged by one of these basic types plus its space dimension.
Definition: type.hh:29
A unique label for each type of element that can occur in a grid.
Prism element in three dimensions.
Definition: type.hh:33
unsigned int numTopologies(int dim)
obtain the number of topologies of a given dimension
Definition: topologytypes.hh:134
Definition: topologytypes.hh:56
Pyramid< typename Convert< GeometryType::simplex, dim-1 >::type > type
Definition: conversion.hh:150
Simplicial element in any nonnegative dimension.
Definition: type.hh:30
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:24
Prism< typename Convert< GeometryType::cube, dim-1 >::type > type
Definition: conversion.hh:163
Point type
Definition: conversion.hh:156
Definition: conversion.hh:143
Prism< typename Convert< GeometryType::simplex, dim-1 >::type > type
Definition: conversion.hh:177
Point type
Definition: conversion.hh:169
Definition: topologytypes.hh:40
Definition: affinegeometry.hh:18