DOTS Geometry
 
Loading...
Searching...
No Matches
SpecialQuery Class Reference

Static Public Member Functions

static JobHandle AllRadiusParallelQuery2D (float allRadius, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius, it will return for each point all other points that are within that radius. T The core algorithm is executed in parallel.
 
static JobHandle AllRadiusParallelQuery3D (float allRadius, NativeArray< float3 > points, ref NativeList< UnsafeList< int > > result, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius, it will return for each point all other points that are within that radius. T The core algorithm is executed in parallel.
 
static JobHandle AllRadiusQuery2D (float allRadius, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius, it will return for each point all other points that are within that radius.
 
static JobHandle AllRadiusQuery3D (float allRadius, NativeArray< float3 > points, ref NativeList< UnsafeList< int > > result, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius it will return for each point all other points that are within that radius.
 
static JobHandle AllRectangleParallelQuery (Rect allRectangle, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle. It is assumed that the points lie in the center of the search rectangle The core algorithm is executed in parallel.
 
static JobHandle AllRectangleQuery (Rect allRectangle, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle. It is assumed that the points lie in the center of the search rectangle.
 
static JobHandle CreateSortedRadiusEventQueue2D (float allRadius, NativeArray< float2 > points, ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > queue, JobHandle dependsOn=default)
 Creates a 2D radius event queue that can be presorted and reused for faster query times (see example scenes)
 
static JobHandle CreateSortedRadiusEventQueue3D (float allRadius, NativeArray< float3 > points, ref NativeArray< SpecialQueryJobs.ShapeEventPoint3D > queue, JobHandle dependsOn=default)
 Creates a 3D radius event queue that can be presorted and reused for faster query times (see example scenes)
 
static JobHandle CreateSortedRectangleEventQueue (Rect allRectangle, NativeArray< float2 > points, ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > queue, JobHandle dependsOn=default)
 Creates a rectangle event queue that can be presorted and reused for faster query times (see example scenes)
 
static JobHandle PresortedAllRadiusParallelQuery2D (float allRadius, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > presortedQueue, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius, it will return for each point all other points that are within that radius. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.
 
static JobHandle PresortedAllRadiusParallelQuery3D (float allRadius, NativeArray< float3 > points, ref NativeList< UnsafeList< int > > result, ref NativeArray< SpecialQueryJobs.ShapeEventPoint3D > presortedQueue, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a radius, it will return for each point all other points that are within that radius. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.
 
static JobHandle PresortedAllRectangleParallelQuery (Rect allRectangle, NativeArray< float2 > points, ref NativeList< UnsafeList< int > > result, ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > presortedQueue, int batchSize=512, Allocator allocator=Allocator.TempJob, JobHandle dependsOn=default)
 Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle.
It is assumed that the points lie in the center of the search rectangle. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.
 

Member Function Documentation

◆ AllRadiusParallelQuery2D()

static JobHandle AllRadiusParallelQuery2D ( float allRadius,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius, it will return for each point all other points that are within that radius. T The core algorithm is executed in parallel.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
batchSize
allocator
dependsOn
Returns

◆ AllRadiusParallelQuery3D()

static JobHandle AllRadiusParallelQuery3D ( float allRadius,
NativeArray< float3 > points,
ref NativeList< UnsafeList< int > > result,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius, it will return for each point all other points that are within that radius. T The core algorithm is executed in parallel.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
batchSize
allocator
dependsOn
Returns

◆ AllRadiusQuery2D()

static JobHandle AllRadiusQuery2D ( float allRadius,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius, it will return for each point all other points that are within that radius.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
dependsOn
Returns

◆ AllRadiusQuery3D()

static JobHandle AllRadiusQuery3D ( float allRadius,
NativeArray< float3 > points,
ref NativeList< UnsafeList< int > > result,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius it will return for each point all other points that are within that radius.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
result
allocatorA list for each point containing the indices of the other points within the radius
dependsOn
Returns

◆ AllRectangleParallelQuery()

static JobHandle AllRectangleParallelQuery ( Rect allRectangle,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle. It is assumed that the points lie in the center of the search rectangle The core algorithm is executed in parallel.

Parameters
allRectangleThe search rectangle for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the rectangle
batchSize
allocator
dependsOn
Returns

◆ AllRectangleQuery()

static JobHandle AllRectangleQuery ( Rect allRectangle,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle. It is assumed that the points lie in the center of the search rectangle.

Parameters
allRectangleThe search rectangle for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the rectangle
allocator
dependsOn
Returns

◆ CreateSortedRadiusEventQueue2D()

static JobHandle CreateSortedRadiusEventQueue2D ( float allRadius,
NativeArray< float2 > points,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > queue,
JobHandle dependsOn = default )
static

Creates a 2D radius event queue that can be presorted and reused for faster query times (see example scenes)

Parameters
allRadius
points
queue
dependsOn
Returns

◆ CreateSortedRadiusEventQueue3D()

static JobHandle CreateSortedRadiusEventQueue3D ( float allRadius,
NativeArray< float3 > points,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint3D > queue,
JobHandle dependsOn = default )
static

Creates a 3D radius event queue that can be presorted and reused for faster query times (see example scenes)

Parameters
allRadius
points
queue
dependsOn
Returns

◆ CreateSortedRectangleEventQueue()

static JobHandle CreateSortedRectangleEventQueue ( Rect allRectangle,
NativeArray< float2 > points,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > queue,
JobHandle dependsOn = default )
static

Creates a rectangle event queue that can be presorted and reused for faster query times (see example scenes)

Parameters
allRectangle
points
queue
dependsOn
Returns

◆ PresortedAllRadiusParallelQuery2D()

static JobHandle PresortedAllRadiusParallelQuery2D ( float allRadius,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > presortedQueue,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius, it will return for each point all other points that are within that radius. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
presortedQueueA previously created queue that is reused and will be resorted
batchSize
allocator
dependsOn
Returns

◆ PresortedAllRadiusParallelQuery3D()

static JobHandle PresortedAllRadiusParallelQuery3D ( float allRadius,
NativeArray< float3 > points,
ref NativeList< UnsafeList< int > > result,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint3D > presortedQueue,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a radius, it will return for each point all other points that are within that radius. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.

Parameters
allRadiusThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
presortedQueueA previously created queue that is reused and will be resorted
batchSize
allocator
dependsOn
Returns

◆ PresortedAllRectangleParallelQuery()

static JobHandle PresortedAllRectangleParallelQuery ( Rect allRectangle,
NativeArray< float2 > points,
ref NativeList< UnsafeList< int > > result,
ref NativeArray< SpecialQueryJobs.ShapeEventPoint2D > presortedQueue,
int batchSize = 512,
Allocator allocator = Allocator::TempJob,
JobHandle dependsOn = default )
static

Given a collection of points and a rectangle, it will return for each point all other points that are within that rectangle.
It is assumed that the points lie in the center of the search rectangle. A presorted queue is used for quicker sorting and the core algorithm is executed in parallel.

Parameters
allRectangleThe search radius for each and all points
pointsThe list of points
resultA list for each point containing the indices of the other points within the radius
presortedQueueA previously created queue that is reused and will be resorted
batchSize
allocator
dependsOn
Returns