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

#include <BigGridKdTree.hpp>

Public Member Functions

 BigGridKdTree (BoundingBox< BaseVecT > &bb, size_t maxNodePoints, BigGrid< BaseVecT > *grid, float voxelsize, size_t numPoints=0)
 
BoundingBox< BaseVecT > & getBB ()
 
size_t getNumPoints ()
 
void insert (size_t numPoints, BaseVecT pos)
 
virtual ~BigGridKdTree ()
 

Static Public Member Functions

static std::vector< BigGridKdTree * > getLeafs ()
 
static std::vector< BigGridKdTree * > getNodes ()
 

Private Member Functions

 BigGridKdTree (BoundingBox< BaseVecT > &bb, size_t numPoints=0)
 
bool fitsInBox (BaseVecT &pos)
 

Private Attributes

BoundingBox< BaseVecT > m_bb
 
std::vector< BigGridKdTree * > m_children
 
size_t m_numPoints
 

Static Private Attributes

static BigGrid< BaseVecT > * m_grid
 
static size_t s_maxNodePoints
 
static std::vector< BigGridKdTree * > s_nodes
 
static float s_voxelsize
 

Detailed Description

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

Definition at line 47 of file BigGridKdTree.hpp.

Constructor & Destructor Documentation

◆ BigGridKdTree() [1/2]

template<typename BaseVecT >
lvr2::BigGridKdTree< BaseVecT >::BigGridKdTree ( BoundingBox< BaseVecT > &  bb,
size_t  maxNodePoints,
BigGrid< BaseVecT > *  grid,
float  voxelsize,
size_t  numPoints = 0 
)

constructor reserved for the root of a kd-Tree

Parameters
bb
maxNodePoints
grid
voxelsize
numPoints

◆ ~BigGridKdTree()

template<typename BaseVecT >
virtual lvr2::BigGridKdTree< BaseVecT >::~BigGridKdTree ( )
virtual

◆ BigGridKdTree() [2/2]

template<typename BaseVecT >
lvr2::BigGridKdTree< BaseVecT >::BigGridKdTree ( BoundingBox< BaseVecT > &  bb,
size_t  numPoints = 0 
)
private

constructor reserved for intern nodes and leafs

Parameters
bb
numPoints

Member Function Documentation

◆ fitsInBox()

template<typename BaseVecT >
bool lvr2::BigGridKdTree< BaseVecT >::fitsInBox ( BaseVecT &  pos)
inlineprivate

checks, if position "pos" is within the BoundingBox

Parameters
posspecific position
Returns
bool true, if pos is in BoundingBox

Definition at line 132 of file BigGridKdTree.hpp.

◆ getBB()

template<typename BaseVecT >
BoundingBox<BaseVecT>& lvr2::BigGridKdTree< BaseVecT >::getBB ( )
inline
Returns
BoundingBox

Definition at line 91 of file BigGridKdTree.hpp.

◆ getLeafs()

template<typename BaseVecT >
static std::vector<BigGridKdTree*> lvr2::BigGridKdTree< BaseVecT >::getLeafs ( )
static

returns the leafs of the kd-tree (or final PartitionBB which can be converted to the sub-mesh)

Returns
leafs

◆ getNodes()

template<typename BaseVecT >
static std::vector<BigGridKdTree*> lvr2::BigGridKdTree< BaseVecT >::getNodes ( )
inlinestatic
Returns
nodes

Definition at line 81 of file BigGridKdTree.hpp.

◆ getNumPoints()

template<typename BaseVecT >
size_t lvr2::BigGridKdTree< BaseVecT >::getNumPoints ( )
inline
Returns
number of points

Definition at line 86 of file BigGridKdTree.hpp.

◆ insert()

template<typename BaseVecT >
void lvr2::BigGridKdTree< BaseVecT >::insert ( size_t  numPoints,
BaseVecT  pos 
)

inserts a nodes in to the kd-Tree

Parameters
numPoints
pos

Member Data Documentation

◆ m_bb

template<typename BaseVecT >
BoundingBox<BaseVecT> lvr2::BigGridKdTree< BaseVecT >::m_bb
private

Definition at line 94 of file BigGridKdTree.hpp.

◆ m_children

template<typename BaseVecT >
std::vector<BigGridKdTree*> lvr2::BigGridKdTree< BaseVecT >::m_children
private

children nodes of a specific node

Definition at line 101 of file BigGridKdTree.hpp.

◆ m_grid

template<typename BaseVecT >
BigGrid<BaseVecT>* lvr2::BigGridKdTree< BaseVecT >::m_grid
staticprivate

global grid, set once at the start

Definition at line 125 of file BigGridKdTree.hpp.

◆ m_numPoints

template<typename BaseVecT >
size_t lvr2::BigGridKdTree< BaseVecT >::m_numPoints
private

Definition at line 96 of file BigGridKdTree.hpp.

◆ s_maxNodePoints

template<typename BaseVecT >
size_t lvr2::BigGridKdTree< BaseVecT >::s_maxNodePoints
staticprivate

maximum nodes allowed in a leaf, defined by user

Definition at line 120 of file BigGridKdTree.hpp.

◆ s_nodes

template<typename BaseVecT >
std::vector<BigGridKdTree*> lvr2::BigGridKdTree< BaseVecT >::s_nodes
staticprivate

global list of all created nodes

Definition at line 113 of file BigGridKdTree.hpp.

◆ s_voxelsize

template<typename BaseVecT >
float lvr2::BigGridKdTree< BaseVecT >::s_voxelsize
staticprivate

Definition at line 115 of file BigGridKdTree.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:11