LRsplines
LRsplines copied to clipboard
Implement LRSpline.renumberBasisfunctions()
Implement LRSpline.renumberBasisfunctions()
which gives a consistent basisfunctino enumeration which is independent of refinement order. Same topological mesh should produce identical element enumeration regardless of scaling or refinement order.
This is a bit harder than #39 since Basisfunctions are wrapped into a HashSet
container and you can't rearrange these terms at your own will. However, you don't need to enumerate function according to the hashfunction ordering. One can devise some form of geometric ordering of the basisfunction in the parametric space which produces unique and repeatable enumerations. However be advised that while you can sort on "lower left" corner for elements since these are unique, this is no longer the case for the support of the basisfunctions. Neither "lower left corner", "controlpoint value" or "greville absiccae" are unique geometric points. You will have to take into account potentially the entire knot vector in this sorting logic.