Hyper Tree Grid super cursor needs fixes
The super cursors that can be used to access data from neighboring trees are broken. In the current state, this feature is barely usable. I'll list a few bugs I've encountered:
When accessing a neighbor from a border of the hyper tree grid, i.e. when accessing a non-existing node outside the extent, the index of this non existing node being returned is
0, which refers to an existing cell. It should be something like
~0for example, with
static constexprattribute of
When wanting to create a
vtkHyperTreeGridNonOrientedSuperCursor, there is a
assert(false)in the code, which will always fail. The issue here is that the created cursor, which should be able to access its parent since it is not oriented, cannot do so, unless we create the cursor by walking from the root of its
vtkHyperTreeto the node. This just needs to be implemented, with a warning in the documentation on the bad performance of such a procedure.
vtkHyperTreeGridOrientedGeometryCursorthat one can create from
vtkHyperTreeGridNonOrientedSuperCursorhas non initialized pointers, such as
Scales. This causes random crashes in methods needing this pointer.
There might be other issues. The idea of this issue would be to fix the known issues that I presented, and to do a sweep through the code related to supercursors, testing every method to see if there are other broken parts.