WIP: Add StaticGeometryType
This encodes all the information of a GeometryType as template
parameters. Some remarks on the implementation:
- This may be a solition for using
GeometryTypes a template paremters. - All methods in
Dune::GeometryTypes::have analogouges inDune::StaticGeometryTypes::and additional template aliases for parametrized types. Hence you can e.g. use Simplex. - There is
LocalHybridGeometryTypeIndexwhich works likeLocalGeometryTypeIndexbut supports GeometryType and StaticGeometryType. - Some
topologyIdsare different: If you want to overload for specificStaticGeometryTypes, you must be sure that the same geometry type leads to the same type. HencetopologyIdsare normalize to have 0 in the first bit. - One may consider using
uniqueTopologyId = (topologyId >> 1)as template parameter instead to get rid of the nasty non-uniqueness.
For now this is a non-intrusive proposal for discussion and thus marked WIP.
One could also merge Dune::StaticGeometryTypes into Dune::GeometryTypes:: and
LocalHybridGeometryTypeIndex into LocalGeometryTypeIndex.
This would change some dynamic types to static ones.
However, this should not be a problem since each StaticGeometryType
can be converted into its dynamic counterpart.