Public Member Functions | Private Member Functions | Private Attributes | List of all members
lvr2::OctreeReduction Class Reference

#include <OctreeReduction.hpp>

Public Member Functions

PointBufferPtr getReducedPoints ()
 
void getReducedPoints (Vector3f &points, size_t &n)
 
 OctreeReduction (PointBufferPtr &pointBuffer, const double &voxelSize, const size_t &minPointsPerVoxel)
 
 OctreeReduction (Vector3f *points, const size_t &n, const double &voxelSize, const size_t &minPointsPerVoxel)
 
 ~OctreeReduction ()
 

Private Member Functions

template<typename T >
void createOctree (T *points, const int &n, bool *flagged, const T &min, const T &max, const int &level)
 
template<typename T >
void createOctree (lvr2::PointBufferPtr &points, size_t s, size_t n, bool *flagged, const lvr2::Vector3< T > &min, const lvr2::Vector3< T > &max, const int &level)
 
template<typename T >
size_t splitPoints (T *points, const size_t &n, const int axis, const double &splitValue)
 
template<typename T >
size_t splitPoints (lvr2::PointBufferPtr &points, size_t s, size_t n, const int axis, const double &splitValue)
 
template<typename T >
void swapAllChannelsOfType (lvr2::PointBufferPtr &points, const size_t &l, const size_t &r)
 
template<typename T >
void swapInChannel (lvr2::Channel< T > &ch, const size_t &l, const size_t &r)
 

Private Attributes

bool * m_flags
 
size_t m_minPointsPerVoxel
 
size_t m_numPoints
 
PointBufferPtr m_pointBuffer
 
Vector3f m_points
 
double m_voxelSize
 

Detailed Description

Definition at line 48 of file OctreeReduction.hpp.

Constructor & Destructor Documentation

◆ OctreeReduction() [1/2]

lvr2::OctreeReduction::OctreeReduction ( PointBufferPtr pointBuffer,
const double &  voxelSize,
const size_t &  minPointsPerVoxel 
)

Definition at line 10 of file OctreeReduction.cpp.

◆ OctreeReduction() [2/2]

lvr2::OctreeReduction::OctreeReduction ( Vector3f points,
const size_t &  n,
const double &  voxelSize,
const size_t &  minPointsPerVoxel 
)

Definition at line 38 of file OctreeReduction.cpp.

◆ ~OctreeReduction()

lvr2::OctreeReduction::~OctreeReduction ( )
inline

Definition at line 57 of file OctreeReduction.hpp.

Member Function Documentation

◆ createOctree() [1/2]

template<typename T >
void lvr2::OctreeReduction::createOctree ( T *  points,
const int &  n,
bool *  flagged,
const T &  min,
const T &  max,
const int &  level 
)
private

◆ createOctree() [2/2]

template<typename T >
void lvr2::OctreeReduction::createOctree ( lvr2::PointBufferPtr points,
size_t  s,
size_t  n,
bool *  flagged,
const lvr2::Vector3< T > &  min,
const lvr2::Vector3< T > &  max,
const int &  level 
)
private

◆ getReducedPoints() [1/2]

PointBufferPtr lvr2::OctreeReduction::getReducedPoints ( )

Definition at line 58 of file OctreeReduction.cpp.

◆ getReducedPoints() [2/2]

void lvr2::OctreeReduction::getReducedPoints ( Vector3f points,
size_t &  n 
)

Definition at line 72 of file OctreeReduction.cpp.

◆ splitPoints() [1/2]

template<typename T >
size_t lvr2::OctreeReduction::splitPoints ( T *  points,
const size_t &  n,
const int  axis,
const double &  splitValue 
)
private

◆ splitPoints() [2/2]

template<typename T >
size_t lvr2::OctreeReduction::splitPoints ( lvr2::PointBufferPtr points,
size_t  s,
size_t  n,
const int  axis,
const double &  splitValue 
)
private

◆ swapAllChannelsOfType()

template<typename T >
void lvr2::OctreeReduction::swapAllChannelsOfType ( lvr2::PointBufferPtr points,
const size_t &  l,
const size_t &  r 
)
private

◆ swapInChannel()

template<typename T >
void lvr2::OctreeReduction::swapInChannel ( lvr2::Channel< T > &  ch,
const size_t &  l,
const size_t &  r 
)
private

Member Data Documentation

◆ m_flags

bool* lvr2::OctreeReduction::m_flags
private

Definition at line 81 of file OctreeReduction.hpp.

◆ m_minPointsPerVoxel

size_t lvr2::OctreeReduction::m_minPointsPerVoxel
private

Definition at line 79 of file OctreeReduction.hpp.

◆ m_numPoints

size_t lvr2::OctreeReduction::m_numPoints
private

Definition at line 80 of file OctreeReduction.hpp.

◆ m_pointBuffer

PointBufferPtr lvr2::OctreeReduction::m_pointBuffer
private

Definition at line 83 of file OctreeReduction.hpp.

◆ m_points

Vector3f lvr2::OctreeReduction::m_points
private

Definition at line 84 of file OctreeReduction.hpp.

◆ m_voxelSize

double lvr2::OctreeReduction::m_voxelSize
private

Definition at line 78 of file OctreeReduction.hpp.


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


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