Improve setup of generic node information (and avoid applyToTree)

The node header contained three visitors for

  • initially setting the tree indices,
  • binding the tree,
  • and clearing the node size information.

The latter is removed because it was undocumented and unused for years. The one for setting the tree indices is replaced by a call to forEachNode(). Binding of the tree is now handled recursively by adding a bind(element) method to inner nodes, too, which calls bind for its children and sets their offsets. This way one can hook in the mechanism as follows:

It is possible to derive from one of the inner node classes and overwrite the bind(element) method. In cases where it is known in advance that a child has size zero (e.g. for a multi-domain grid view) this allows to skip the costly bind operation for the children.

Merge request reports

Loading