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

#include <MeshOctree.hpp>

Public Member Functions

void genDisplayLists ()
 
void intersect (double planes[24], std::vector< BaseVecT > &indices, std::vector< size_t > &hashes)
 
 MeshOctree (float voxelSize, std::vector< size_t > &hashes, std::vector< BaseVecT > &centroids, BoundingBox< BaseVecT > &bb)
 
void setLOD (unsigned char lod)
 
virtual ~MeshOctree ()
 

Private Member Functions

long buildTree (BOct *oct, std::vector< size_t > &hashes, std::vector< BaseVecT > &centroids, const BoundingBox< BaseVecT > &bbox)
 
void getBBoxes (const BoundingBox< BaseVecT > &bbox, BoundingBox< BaseVecT > *boxes)
 
template<typename T >
T * getChildPtr (BOct *parent)
 
void getHashes (BOct *oct, std::vector< BaseVecT > &indices, std::vector< size_t > &hashes)
 
unsigned char getIndex (const BaseVecT &point, const BoundingBox< BaseVecT > &bbox)
 
void intersect (ChunkLeaf *leaf, const BoundingBox< BaseVecT > &bbox, double planes[24], std::vector< BaseVecT > &indices, std::vector< size_t > &hashes)
 
void intersect (BOct *oct, const BoundingBox< BaseVecT > &bbox, double planes[24], std::vector< BaseVecT > &indices, std::vector< size_t > &hashes)
 
template<typename T >
void link (BOct *parent, T *child)
 

Private Attributes

BoundingBox< BaseVecT > m_bbox
 
unsigned char m_lod
 
ChunkMemoryHandler m_mem
 
BOctm_root
 
float m_voxelSize
 
size_t numLeafs
 

Detailed Description

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

Definition at line 34 of file MeshOctree.hpp.

Constructor & Destructor Documentation

◆ MeshOctree()

template<typename BaseVecT >
lvr2::MeshOctree< BaseVecT >::MeshOctree ( float  voxelSize,
std::vector< size_t > &  hashes,
std::vector< BaseVecT > &  centroids,
BoundingBox< BaseVecT > &  bb 
)

◆ ~MeshOctree()

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

Definition at line 45 of file MeshOctree.hpp.

Member Function Documentation

◆ buildTree()

template<typename BaseVecT >
long lvr2::MeshOctree< BaseVecT >::buildTree ( BOct oct,
std::vector< size_t > &  hashes,
std::vector< BaseVecT > &  centroids,
const BoundingBox< BaseVecT > &  bbox 
)
private

◆ genDisplayLists()

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

Definition at line 43 of file MeshOctree.hpp.

◆ getBBoxes()

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

◆ getChildPtr()

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

◆ getHashes()

template<typename BaseVecT >
void lvr2::MeshOctree< BaseVecT >::getHashes ( BOct oct,
std::vector< BaseVecT > &  indices,
std::vector< size_t > &  hashes 
)
private

◆ getIndex()

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

◆ intersect() [1/3]

template<typename BaseVecT >
void lvr2::MeshOctree< BaseVecT >::intersect ( double  planes[24],
std::vector< BaseVecT > &  indices,
std::vector< size_t > &  hashes 
)

◆ intersect() [2/3]

template<typename BaseVecT >
void lvr2::MeshOctree< BaseVecT >::intersect ( ChunkLeaf leaf,
const BoundingBox< BaseVecT > &  bbox,
double  planes[24],
std::vector< BaseVecT > &  indices,
std::vector< size_t > &  hashes 
)
private

◆ intersect() [3/3]

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

◆ link()

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

◆ setLOD()

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

Definition at line 41 of file MeshOctree.hpp.

Member Data Documentation

◆ m_bbox

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

Definition at line 50 of file MeshOctree.hpp.

◆ m_lod

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

Definition at line 60 of file MeshOctree.hpp.

◆ m_mem

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

Definition at line 58 of file MeshOctree.hpp.

◆ m_root

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

Definition at line 49 of file MeshOctree.hpp.

◆ m_voxelSize

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

Definition at line 48 of file MeshOctree.hpp.

◆ numLeafs

template<typename BaseVecT >
size_t lvr2::MeshOctree< BaseVecT >::numLeafs
private

Definition at line 61 of file MeshOctree.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