Files
UnrealEngineUWP/Engine/Source/Runtime/GeometryCore/Private/Spatial
ryan schmidt 2a75179958 GeometryCore: Add TSparseGrid3::RangeIteration, that iterates over any allocated cells in sub-region of sparse grid. Remove default bAllocateIfMissing=true on ::Get() to avoid accidental grid expansion. Add FVector3i::operator< to allow sorting of integer vectors.
Various improvements to FSparseDynamicPointOctree:
- replaced FSmallListSet with new TSparseListSet<int>
- removed ValidPointIDs flag array, can be inferred from PointIDToCellMap
- replaced checks with checkSlow
- added some variants of internal functions for box center, width, etc, that can work off level/index directly, instead of requiring a cell
- range query functinos use new TSparseGrid3::RangeIteration to avoid iterating over all root cells
- added ::ParallelInsertDensePointSet() which can do parallel octree build into fully-expanded leaf nodes
- added ::ConfigureFromPointCountEstimate() which can estimate MaxDepth and RootDimension given an estimate of point count, useful primarily with ParallelInsertDensePointSet()
- added ::RemovePointUnsafe() which skips various range checking etc

#rb jimmy.andrews
#preflight 37e92f8cc307d6fa52d41c7

[CL 23258977 by ryan schmidt in ue5-main branch]
2022-11-24 09:52:08 -05:00
..