Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Spatial/SparseDynamicPointOctree3.h |
Include |
#include "Spatial/SparseDynamicPointOctree3.h" |
void ParallelRangeQuery
(
const FAxisAlignedBox3d & Bounds,
TFunctionRef< bool> PredicateFunc,
TArray< int > & PointIDsOut,
TArray< const FSparsePointOctreeCell * > * TempBuffer
) const
Collect PointIDs from all the cells with bounding boxes that intersect Bounds, where PredicateFunc passes Query is parallelized across Root cells. So if there is only one Root cell, it's actually slower than RangeQuery() due to internal temp buffers.
Parameter |
Description |
---|---|
Bounds |
query box |
PredicateFunc |
return true if point should be included (ie this is a filter) |
PointIDsOut |
collected PointIDs are stored here |
TempBuffer |
optional temporary buffer to store a queue of cells (to avoid memory allocations) |