Skip to content

Feature/topology to geometry type

Andreas Dedner requested to merge feature/Topology-to-GeometryType into master

This is part of !159 (merged) containing the parts that can be directly merged into master before a release, since they shouldn't break code

Disucssion:

  • @andreas.dedner: suggestion to keep the addCone etc methods on the GeometryType
  • @oliver.sander: I suggested that change for purely political reasons: Adding public methods to GeometryType is an interface change that needs discussion, voting, ... stuff that takes time. Adding code to the Impl namespace is much easier.
  • @oliver.sander: I don't mind public methods per se. It's just that we have to give them some extra attention, because they are so difficult to get rid of once they are there.
  • @carsten.graeser: I agree with @andreas.dedner that addCone() and addTensor() are nice additions to the public interface. popHighest() is a different thing, because it very much assumes that one is aware of the implementation details of the GeometryType, namely the TopologyId. But this could be improved by writing more documentation and finding a better name. In the short run keeping this in Impl:: avoids any problems.
bool GeometryType::isPrismatic(step=dim-1) // undefined for step < 0 or step > dim-1
bool GeometryType::isConical(step=dim-1)   // undefined for step < 0 or step > dim-1
constexpr GeometryTypes::GeometryTypes::prismaticExtension(gt)
constexpr GeometryTypes::GeometryTypes::conicalExtension(gt)
constexpr Impl::GeometryTypes::getBase()
Edited by Andreas Dedner

Merge request reports