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
GeometryType
s 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
LocalHybridGeometryTypeIndex
which works likeLocalGeometryTypeIndex
but supports GeometryType and StaticGeometryType. - Some
topologyIds
are different: If you want to overload for specificStaticGeometryType
s, you must be sure that the same geometry type leads to the same type. HencetopologyIds
are 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.