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

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

Public Member Functions

void Clear ()
 
float3 GetBottomLeftPosition ()
 
int3 GetCellCoordinates (float3 position)
 
JobHandle GetCellsInBounds (Bounds bounds, ref NativeList< uint > result, JobHandle dependsOn)
 
JobHandle GetCellsInBounds (NativeArray< Bounds > bounds, ref NativeParallelHashSet< uint > result, JobHandle dependsOn, int innerLoopBatchCount=1)
 
JobHandle GetCellsInRadii (NativeArray< float3 > centers, NativeArray< float > radii, ref NativeParallelHashSet< uint > result, JobHandle dependsOn, int innerLoopBatchCount=1)
 
JobHandle GetCellsInRadius (float3 center, float radius, ref NativeList< uint > result, JobHandle dependsOn)
 
NativeParallelMultiHashMap< uint, T > GetDataBuckets ()
 
int GetMaxDepth ()
 
NativeList< OctreeNodeGetNodes ()
 
OctreeNodeGetRoot ()
 
float3 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 octrees (sparse, dense, etc.) to exchange data structures within Jobs.

Template Parameters
T
Type Constraints
T :unmanaged 

Member Function Documentation

◆ Clear()

void Clear ( )

◆ GetCellCoordinates()

int3 GetCellCoordinates ( float3 position)

◆ GetCellsInBounds() [1/2]

JobHandle GetCellsInBounds ( Bounds bounds,
ref NativeList< uint > result,
JobHandle dependsOn )

◆ GetCellsInBounds() [2/2]

JobHandle GetCellsInBounds ( NativeArray< Bounds > bounds,
ref NativeParallelHashSet< uint > result,
JobHandle dependsOn,
int innerLoopBatchCount = 1 )

◆ GetCellsInRadii()

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

◆ GetCellsInRadius()

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

◆ Insert()

void Insert ( float3 position,
T value )

◆ Remove()

bool Remove ( float3 position,
T value )

◆ Update()

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