Classes | Public Types | Public Member Functions | List of all members
Octree< T, use_pairs, AL > Class Template Reference

Public Types

typedef void *(* PairCallback) (void *, OctreeElementID, T *, int, OctreeElementID, T *, int)
 
typedef void(* UnpairCallback) (void *, OctreeElementID, T *, int, OctreeElementID, T *, int, void *)
 

Public Member Functions

OctreeElementID create (T *p_userdata, const AABB &p_aabb=AABB(), int p_subindex=0, bool p_pairable=false, uint32_t p_pairable_type=0, uint32_t pairable_mask=1)
 
void move (OctreeElementID p_id, const AABB &p_aabb)
 
void set_pairable (OctreeElementID p_id, bool p_pairable=false, uint32_t p_pairable_type=0, uint32_t pairable_mask=1)
 
void erase (OctreeElementID p_id)
 
bool is_pairable (OctreeElementID p_id) const
 
T * get (OctreeElementID p_id) const
 
int get_subindex (OctreeElementID p_id) const
 
int cull_convex (const Vector< Plane > &p_convex, T **p_result_array, int p_result_max, uint32_t p_mask=0xFFFFFFFF)
 
int cull_AABB (const AABB &p_aabb, T **p_result_array, int p_result_max, int *p_subindex_array=NULL, uint32_t p_mask=0xFFFFFFFF)
 
int cull_segment (const Vector3 &p_from, const Vector3 &p_to, T **p_result_array, int p_result_max, int *p_subindex_array=NULL, uint32_t p_mask=0xFFFFFFFF)
 
int cull_point (const Vector3 &p_point, T **p_result_array, int p_result_max, int *p_subindex_array=NULL, uint32_t p_mask=0xFFFFFFFF)
 
void set_pair_callback (PairCallback p_callback, void *p_userdata)
 
void set_unpair_callback (UnpairCallback p_callback, void *p_userdata)
 
int get_octant_count () const
 
int get_pair_count () const
 
 Octree (real_t p_unit_size=1.0)
 

The documentation for this class was generated from the following file: