3#ifndef DUNE_GEOMETRY_GENERICGEOMETRY_CONVERSION_HH 
    4#define DUNE_GEOMETRY_GENERICGEOMETRY_CONVERSION_HH 
    9#include <dune/geometry/genericgeometry/topologytypes.hh> 
   10#include <dune/geometry/genericgeometry/subtopologies.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 >
 
   68    class DuneGeometryType< Pyramid< BaseTopology >, linetype >
 
   70      typedef DuneGeometryType< BaseTopology, linetype > DuneBaseGeometryType;
 
   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 >
 
  134        return instance().types_[ topologyId / 2 ];
 
  142    template< GeometryType :: BasicType type, 
unsigned int dim >
 
  145    template< 
unsigned int dim >
 
  154    struct Convert< GeometryType :: simplex, 0 >
 
  159    template< 
unsigned int dim >
 
  172    template< 
unsigned int dim >
 
  180    template< 
unsigned int dim >
 
statically convert a generic topology type into a GeometryType
Definition: conversion.hh:30
 
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:25
 
BasicType
Each entity can be tagged by one of these basic types plus its space dimension.
Definition: type.hh:29
 
@ cube
Cube element in any nonnegative dimension.
Definition: type.hh:31
 
@ simplex
Simplicial element in any nonnegative dimension.
Definition: type.hh:30
 
@ pyramid
Four sided pyramid in three dimensions.
Definition: type.hh:32
 
@ prism
Prism element in three dimensions.
Definition: type.hh:33
 
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
 
Dune namespace.
Definition: alignment.hh:10
 
dynamically convert a generic topology type into a GeometryType
Definition: conversion.hh:108
 
static const unsigned int numTopologies
number of possible topologies
Definition: conversion.hh:113
 
static const GeometryType & type(unsigned int topologyId)
obtain a Geometry type from a topology id
Definition: conversion.hh:131
 
static const unsigned int dimension
dimension of the topologies to be converted
Definition: conversion.hh:110
 
A unique label for each type of element that can occur in a grid.
 
Definition of macros controlling symbol visibility at the ABI level.
 
#define DUNE_EXPORT
Export a symbol as part of the public ABI.
Definition: visibility.hh:18