#include <geometrytraits.hh>
Inherited by Dune::GenericGeometry::LocalGeometryTraits< const Grid >.
Every implementation of a DUNE Geometry is required to have the same template parameter list:
template< int mydim, int cdim, class Grid >
For every grid implementation using the generic geometries, this structure must be specialized. The following default implementation can be used (via subclassing) to provide the necessary information. It contains exactly the fields that are necessary:
template< class ctype, int dimG, int dimW > struct DefaultGeometryTraits { typedef DuneCoordTraits< ctype > CoordTraits; static const int dimGrid = dimG; static const int dimWorld = dimW; // hybrid [ true if Codim 0 is hybrid ] static const bool hybrid = true; // dunetype [ for Codim 0, needed for (hybrid=false) ] // static const GeometryType :: BasicType dunetype = GeometryType :: simplex; // what basic geometry type shall the line be considered? static const GeometryType :: BasicType linetype = GeometryType :: simplex; template< class Topology > struct Mapping { typedef MappingTraits< CoordTraits, Topology :: dimension, dimWorld > Traits; typedef CoordPointerStorage< Topology, typename Traits :: GlobalCoordType > CornerStorage; typedef CornerMapping< Topology, Traits, CornerStorage > type; }; struct Caching { static const EvaluationType evaluateJacobianTransposed = ComputeOnDemand; static const EvaluationType evaluateJacobianInverseTransposed = ComputeOnDemand; static const EvaluationType evaluateIntegrationElement = ComputeOnDemand; static const EvaluationType evaluateNormal = ComputeOnDemand; }; };
This implementation specifies the information used by GenericGeometry::LocalGeometry.
Grid | type of the grid, this traits class applies to |