LocalGeometryTraits Struct Reference
[Generic Geometry Implementations]

#include <geometrytraits.hh>

Inherited by Dune::GenericGeometry::LocalGeometryTraits< const Grid >.


Detailed Description

grid specific information required by GenericGeometry::LocalGeometry

Every implementation of a DUNE Geometry is required to have the same template parameter list:

  template< int mydim, int cdim, class Grid >
Consequently, there is no direct way to pass compile time static information to a unified implementation such as the generic geometries. The structure GeometryTraits realizes an indirect way to do this.

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.

Template Parameters:
Grid type of the grid, this traits class applies to

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

Generated on Sun Nov 15 22:28:51 2009 for dune-grid by  doxygen 1.5.6