DOTS Geometry
 
Loading...
Searching...
No Matches
IQuadtree< T > Interface Template Reference

Generic interface for different types of quadtrees (sparse, dense, etc.) to exchange data structures within Jobs. More...

Public Member Functions

void Clear ()
 
float3 GetBottomLeftPosition ()
 
bool GetCell (float3 position, out uint code)
 
int2 GetCellCoordinates (float3 position)
 
JobHandle GetCellsInRadii (NativeArray< float2 > centers, NativeArray< float > radii, ref NativeParallelHashSet< uint > result, JobHandle dependsOn, int innerLoopBatchCount=1)
 
JobHandle GetCellsInRadius (float2 center, float radius, ref NativeList< uint > result, JobHandle dependsOn)
 
JobHandle GetCellsInRectangle (Rect rect, ref NativeList< uint > result, JobHandle dependsOn)
 
JobHandle GetCellsInRectangles (NativeArray< Rect > rectangles, ref NativeParallelHashSet< uint > result, JobHandle dependsOn, int innerLoopBatchCount=1)
 
NativeParallelMultiHashMap< uint, T > GetDataBuckets ()
 
int GetMaxDepth ()
 
NativeList< QuadtreeNodeGetNodes ()
 
QuadtreeNodeGetRoot ()
 
float2 GetScale ()
 
void Insert (float3 position, T value)
 
bool Remove (float3 position, T value)
 
bool Update (T value, float3 oldPosition, float3 newPosition)
 

Properties

int Count [get]
 
bool IsCreated [get]
 

Detailed Description

Generic interface for different types of quadtrees (sparse, dense, etc.) to exchange data structures within Jobs.

Template Parameters
T
Type Constraints
T :unmanaged 

Member Function Documentation

◆ Clear()

void Clear ( )

◆ GetCell()

bool GetCell ( float3 position,
out uint code )

◆ GetCellCoordinates()

int2 GetCellCoordinates ( float3 position)

◆ GetCellsInRadii()

JobHandle GetCellsInRadii ( NativeArray< float2 > centers,
NativeArray< float > radii,
ref NativeParallelHashSet< uint > result,
JobHandle dependsOn,
int innerLoopBatchCount = 1 )

◆ GetCellsInRadius()

JobHandle GetCellsInRadius ( float2 center,
float radius,
ref NativeList< uint > result,
JobHandle dependsOn )

◆ GetCellsInRectangle()

JobHandle GetCellsInRectangle ( Rect rect,
ref NativeList< uint > result,
JobHandle dependsOn )

◆ GetCellsInRectangles()

JobHandle GetCellsInRectangles ( NativeArray< Rect > rectangles,
ref NativeParallelHashSet< uint > result,
JobHandle dependsOn,
int innerLoopBatchCount = 1 )

◆ Insert()

void Insert ( float3 position,
T value )

◆ Remove()

bool Remove ( float3 position,
T value )

◆ Update()

bool Update ( T value,
float3 oldPosition,
float3 newPosition )