Currently an ElementFem has a vector of nodes and does not know which node is a vertex, edge, face or interior/volume node.
The underlying interpolation has this information on the reference element and could provide vertexNodeId, edgeNodeId, faceNodeId and volumeNodeId. This is done in branch pm/edgesAndFaces for InterpolationTriangleQuadratic and InterpolationBrickLinear. In addition to this, the interpolation provides a corresponding edge or face interpolation.
I would continue that with some other interpolations and make InterpolationSimple an abstract class again.
Currently an
ElementFem
has a vector of nodes and does not know which node is a vertex, edge, face or interior/volume node.The underlying interpolation has this information on the reference element and could provide vertexNodeId, edgeNodeId, faceNodeId and volumeNodeId. This is done in branch pm/edgesAndFaces for
InterpolationTriangleQuadratic
andInterpolationBrickLinear
. In addition to this, the interpolation provides a corresponding edge or face interpolation.I would continue that with some other interpolations and make
InterpolationSimple
an abstract class again.Objections?