![]() |
PeriDyno 1.0.0
|
#include <SparseOctree.h>
Public Types | |
typedef TDataType::Real | Real |
typedef TDataType::Coord | Coord |
Public Member Functions | |
SparseOctree () | |
~SparseOctree () | |
void | release () |
Call release() to release allocated memory explicitly, do not call this function from the decontructor. | |
void | setSpace (Coord lo, Real h, Real L) |
void | construct (const DArray< Coord > &points, Real radius) |
void | construct (const DArray< AABB > &aabb) |
void | construct (const DArray< OctreeNode > &nodes) |
int | getLevelMax () |
CPU_FUNC OctreeNode | queryNode (Level l, OcIndex x, OcIndex y, OcIndex z) |
GPU_FUNC Level | requestLevelNumber (const AABB box) |
GPU_FUNC int | requestIntersectionNumber (const AABB box) |
GPU_FUNC void | reqeustIntersectionIds (int *ids, const AABB box) |
GPU_FUNC int | requestIntersectionNumberFromLevel (const AABB box, int level) |
GPU_FUNC int | requestIntersectionNumberFromLevel (const AABB box, AABB *data, int level) |
GPU_FUNC void | reqeustIntersectionIdsFromLevel (int *ids, const AABB box, int level) |
GPU_FUNC void | reqeustIntersectionIdsFromLevel (int *ids, const AABB box, AABB *data, int level) |
GPU_FUNC int | requestIntersectionNumberFromBottom (const AABB box) |
GPU_FUNC void | reqeustIntersectionIdsFromBottom (int *ids, const AABB box) |
GPU_FUNC int | requestIntersectionNumberFromBottom (const AABB box, AABB *data) |
GPU_FUNC void | reqeustIntersectionIdsFromBottom (int *ids, const AABB box, AABB *data) |
void | printAllNodes () |
void | printPostOrderedTree () |
Private Member Functions | |
GPU_FUNC int | requestIntersectionNumber (const OcKey key, const Level l) |
GPU_FUNC int | requestIntersectionNumber (const OcKey key, const Level l, const AABB box, AABB *data) |
GPU_FUNC void | reqeustIntersectionIds (int *ids, int &shift, const OcKey key, const Level l) |
GPU_FUNC void | reqeustIntersectionIds (int *ids, int &shift, const OcKey key, const Level l, const AABB box, AABB *data) |
Private Attributes | |
int | m_level_max |
levels are numbered from 0 to m_level_max; | |
Real | m_h |
Real | m_L |
Coord | m_lo |
DArray< OctreeNode > | m_all_nodes |
DArray< OctreeNode > | m_post_ordered_nodes |
DArray< int > | data_count |
DArray< int > | duplicates_count |
DArray< int > | node_count |
DArray< OctreeNode > | aux_nodes |
DArray< OctreeNode > | node_buffer |
DArray< OctreeNode > | nonRepeatNodes_cpy |
Definition at line 110 of file SparseOctree.h.
typedef TDataType::Coord dyno::SparseOctree< TDataType >::Coord |
Definition at line 114 of file SparseOctree.h.
typedef TDataType::Real dyno::SparseOctree< TDataType >::Real |
Definition at line 113 of file SparseOctree.h.
dyno::SparseOctree< TDataType >::SparseOctree | ( | ) |
dyno::SparseOctree< TDataType >::~SparseOctree | ( | ) |
void dyno::SparseOctree< TDataType >::construct | ( | const DArray< AABB > & | aabb | ) |
void dyno::SparseOctree< TDataType >::construct | ( | const DArray< Coord > & | points, |
Real | radius ) |
void dyno::SparseOctree< TDataType >::construct | ( | const DArray< OctreeNode > & | nodes | ) |
|
inline |
Definition at line 132 of file SparseOctree.h.
void dyno::SparseOctree< TDataType >::printAllNodes | ( | ) |
void dyno::SparseOctree< TDataType >::printPostOrderedTree | ( | ) |
CPU_FUNC OctreeNode dyno::SparseOctree< TDataType >::queryNode | ( | Level | l, |
OcIndex | x, | ||
OcIndex | y, | ||
OcIndex | z ) |
void dyno::SparseOctree< TDataType >::release | ( | ) |
Call release() to release allocated memory explicitly, do not call this function from the decontructor.
GPU_FUNC void dyno::SparseOctree< TDataType >::reqeustIntersectionIds | ( | int * | ids, |
const AABB | box ) |
|
private |
|
private |
GPU_FUNC void dyno::SparseOctree< TDataType >::reqeustIntersectionIdsFromBottom | ( | int * | ids, |
const AABB | box ) |
GPU_FUNC void dyno::SparseOctree< TDataType >::reqeustIntersectionIdsFromBottom | ( | int * | ids, |
const AABB | box, | ||
AABB * | data ) |
GPU_FUNC void dyno::SparseOctree< TDataType >::reqeustIntersectionIdsFromLevel | ( | int * | ids, |
const AABB | box, | ||
AABB * | data, | ||
int | level ) |
GPU_FUNC void dyno::SparseOctree< TDataType >::reqeustIntersectionIdsFromLevel | ( | int * | ids, |
const AABB | box, | ||
int | level ) |
GPU_FUNC int dyno::SparseOctree< TDataType >::requestIntersectionNumber | ( | const AABB | box | ) |
|
private |
|
private |
GPU_FUNC int dyno::SparseOctree< TDataType >::requestIntersectionNumberFromBottom | ( | const AABB | box | ) |
GPU_FUNC int dyno::SparseOctree< TDataType >::requestIntersectionNumberFromBottom | ( | const AABB | box, |
AABB * | data ) |
GPU_FUNC int dyno::SparseOctree< TDataType >::requestIntersectionNumberFromLevel | ( | const AABB | box, |
AABB * | data, | ||
int | level ) |
GPU_FUNC int dyno::SparseOctree< TDataType >::requestIntersectionNumberFromLevel | ( | const AABB | box, |
int | level ) |
GPU_FUNC Level dyno::SparseOctree< TDataType >::requestLevelNumber | ( | const AABB | box | ) |
void dyno::SparseOctree< TDataType >::setSpace | ( | Coord | lo, |
Real | h, | ||
Real | L ) |
|
private |
Definition at line 183 of file SparseOctree.h.
|
private |
Definition at line 180 of file SparseOctree.h.
|
private |
Definition at line 181 of file SparseOctree.h.
|
private |
Definition at line 177 of file SparseOctree.h.
|
private |
Definition at line 172 of file SparseOctree.h.
|
private |
Definition at line 173 of file SparseOctree.h.
|
private |
levels are numbered from 0 to m_level_max;
Definition at line 170 of file SparseOctree.h.
|
private |
Definition at line 175 of file SparseOctree.h.
|
private |
Definition at line 178 of file SparseOctree.h.
|
private |
Definition at line 184 of file SparseOctree.h.
|
private |
Definition at line 182 of file SparseOctree.h.
|
private |
Definition at line 185 of file SparseOctree.h.