Public Member Functions | Private Member Functions | Private Attributes | List of all members
lvr2::PointOctree< BaseVecT > Class Template Reference

#include <PointOctree.hpp>

Public Member Functions

void genDisplayLists ()
 
void intersect (double planes[24], std::vector< unsigned int > &indices)
 
 PointOctree (PointBufferPtr &points, int depth)
 
void setLOD (unsigned char lod)
 
virtual ~PointOctree ()
 

Private Member Functions

long buildTree (BOct *oct, size_t start, size_t size, const BoundingBox< BaseVecT > &bbox)
 
void genDisplayLists (Leaf *leaf)
 
void genDisplayLists (BOct *oct)
 
void getBBoxes (const BoundingBox< BaseVecT > &bbox, BoundingBox< BaseVecT > *boxes)
 
template<typename T >
T * getChildPtr (BOct *parent)
 
unsigned char getIndex (const BaseVecT &point, const BoundingBox< BaseVecT > &bbox)
 
void getPoints (BOct *oct, std::vector< unsigned int > &indices)
 
void intersect (Leaf *leaf, const BoundingBox< BaseVecT > &bbox, double planes[24], std::vector< unsigned int > &indices)
 
void intersect (BOct *oct, const BoundingBox< BaseVecT > &bbox, double planes[24], std::vector< unsigned int > &indices)
 
template<typename T >
void link (BOct *parent, T *child)
 
template<typename PtrT >
void sortPC (size_t start, size_t size, const BoundingBox< BaseVecT > &bbox, size_t bucket_sizes[8])
 

Private Attributes

BoundingBox< BaseVecT > m_bbox
 
unsigned char m_lod
 
ChunkMemoryHandler m_mem
 
FloatChannel m_points
 
BOctm_root
 
float m_voxelSize
 

Detailed Description

template<typename BaseVecT>
class lvr2::PointOctree< BaseVecT >

Definition at line 32 of file PointOctree.hpp.

Constructor & Destructor Documentation

◆ PointOctree()

template<typename BaseVecT>
lvr2::PointOctree< BaseVecT >::PointOctree ( PointBufferPtr points,
int  depth 
)

◆ ~PointOctree()

template<typename BaseVecT>
virtual lvr2::PointOctree< BaseVecT >::~PointOctree ( )
inlinevirtual

Definition at line 42 of file PointOctree.hpp.

Member Function Documentation

◆ buildTree()

template<typename BaseVecT>
long lvr2::PointOctree< BaseVecT >::buildTree ( BOct oct,
size_t  start,
size_t  size,
const BoundingBox< BaseVecT > &  bbox 
)
private

◆ genDisplayLists() [1/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::genDisplayLists ( )
inline

Definition at line 40 of file PointOctree.hpp.

◆ genDisplayLists() [2/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::genDisplayLists ( Leaf leaf)
private

◆ genDisplayLists() [3/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::genDisplayLists ( BOct oct)
private

◆ getBBoxes()

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::getBBoxes ( const BoundingBox< BaseVecT > &  bbox,
BoundingBox< BaseVecT > *  boxes 
)
private

◆ getChildPtr()

template<typename BaseVecT>
template<typename T >
T* lvr2::PointOctree< BaseVecT >::getChildPtr ( BOct parent)
private

◆ getIndex()

template<typename BaseVecT>
unsigned char lvr2::PointOctree< BaseVecT >::getIndex ( const BaseVecT &  point,
const BoundingBox< BaseVecT > &  bbox 
)
private

◆ getPoints()

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::getPoints ( BOct oct,
std::vector< unsigned int > &  indices 
)
private

◆ intersect() [1/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::intersect ( double  planes[24],
std::vector< unsigned int > &  indices 
)

◆ intersect() [2/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::intersect ( Leaf leaf,
const BoundingBox< BaseVecT > &  bbox,
double  planes[24],
std::vector< unsigned int > &  indices 
)
private

◆ intersect() [3/3]

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::intersect ( BOct oct,
const BoundingBox< BaseVecT > &  bbox,
double  planes[24],
std::vector< unsigned int > &  indices 
)
private

◆ link()

template<typename BaseVecT>
template<typename T >
void lvr2::PointOctree< BaseVecT >::link ( BOct parent,
T *  child 
)
private

◆ setLOD()

template<typename BaseVecT>
void lvr2::PointOctree< BaseVecT >::setLOD ( unsigned char  lod)
inline

Definition at line 38 of file PointOctree.hpp.

◆ sortPC()

template<typename BaseVecT>
template<typename PtrT >
void lvr2::PointOctree< BaseVecT >::sortPC ( size_t  start,
size_t  size,
const BoundingBox< BaseVecT > &  bbox,
size_t  bucket_sizes[8] 
)
private

Member Data Documentation

◆ m_bbox

template<typename BaseVecT>
BoundingBox<BaseVecT> lvr2::PointOctree< BaseVecT >::m_bbox
private

Definition at line 47 of file PointOctree.hpp.

◆ m_lod

template<typename BaseVecT>
unsigned char lvr2::PointOctree< BaseVecT >::m_lod
private

Definition at line 53 of file PointOctree.hpp.

◆ m_mem

template<typename BaseVecT>
ChunkMemoryHandler lvr2::PointOctree< BaseVecT >::m_mem
private

Definition at line 51 of file PointOctree.hpp.

◆ m_points

template<typename BaseVecT>
FloatChannel lvr2::PointOctree< BaseVecT >::m_points
private

Definition at line 49 of file PointOctree.hpp.

◆ m_root

template<typename BaseVecT>
BOct* lvr2::PointOctree< BaseVecT >::m_root
private

Definition at line 46 of file PointOctree.hpp.

◆ m_voxelSize

template<typename BaseVecT>
float lvr2::PointOctree< BaseVecT >::m_voxelSize
private

Definition at line 45 of file PointOctree.hpp.


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


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:12