double RootDimension
Potential optimizations/improvements
Cell sizes are known at each level...can keep a lookup table? will this improve performance?
Store cells for each level in separate TDynamicVectors. CellID is then [Level:8 | Index:24]. This would allow level-grids to be processed separately / in-parallel (for example a cut at given level would be much faster)
Currently insertion is max-depth but we do not dynamically expand more than once. So early insertions end up in very large buckets. When a child expands we should check if any of its parents would fit.
Currently insertion is max-depth so we end up with a huge number of single-Point cells. Should only go down a level if enough Points exist in current cell. Can do this in a greedy fashion, less optimal but still acceptable...
get rid of ValidPointIDs, I don't think we need it? Tree configuration parameters. It is not safe to change these after tree initialization! Size of the Root cells of the octree.