FSparseDynamicPointOctree3::ParallelRangeQuery

Collect PointIDs from all the cells with bounding boxes that intersect Bounds, where PredicateFunc passes Query is parallelized across Root cells.

Windows
MacOS
Linux

References

Module

GeometricObjects

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Spatial/SparseDynamicPointOctree3.h

Include

#include "Spatial/SparseDynamicPointOctree3.h"

Syntax

void ParallelRangeQuery
(
    const FAxisAlignedBox3d & Bounds,
    TFunctionRef< bool> PredicateFunc,
    TArray< int > & PointIDsOut,
    TArray< const FSparsePointOctreeCell * > * TempBuffer
) const

Remarks

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.

Parameters

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)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss