![]()  | 
  
    PeriDyno 1.2.1
    
   | 
 
#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.