Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
pcl::outofcore::OutofcoreOctreeRamContainer< PointT > Class Template Reference

Storage container class which the outofcore octree base is templated against. More...

#include <pcl/outofcore/octree_ram_container.h>

+ Inheritance diagram for pcl::outofcore::OutofcoreOctreeRamContainer< PointT >:

Public Types

using AlignedPointTVector = typename OutofcoreAbstractNodeContainer< PointT >::AlignedPointTVector
 
- Public Types inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
using AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > >
 

Public Member Functions

 OutofcoreOctreeRamContainer (const boost::filesystem::path &)
 empty constructor (with a path parameter?) More...
 
void insertRange (const PointT *start, const std::uint64_t count)
 inserts count number of points into container; uses the container_ type's insert function More...
 
void insertRange (const PointT *const *start, const std::uint64_t count)
 inserts count points into container More...
 
void insertRange (AlignedPointTVector &)
 
void insertRange (const AlignedPointTVector &)
 
void readRange (const std::uint64_t start, const std::uint64_t count, AlignedPointTVector &v)
 
void readRangeSubSample (const std::uint64_t start, const std::uint64_t count, const double percent, AlignedPointTVector &v)
 grab percent*count random points. More...
 
std::uint64_t size () const
 returns the size of the vector of points stored in this class More...
 
bool empty () const
 
void clear ()
 clears the vector of points in this class More...
 
void convertToXYZ (const boost::filesystem::path &path)
 Writes ascii x,y,z point data to path.string().c_str() More...
 
PointT operator[] (std::uint64_t index) const
 
- Public Member Functions inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
 OutofcoreAbstractNodeContainer ()
 
 OutofcoreAbstractNodeContainer (const boost::filesystem::path &)
 
virtual ~OutofcoreAbstractNodeContainer ()
 
virtual void readRange (const std::uint64_t start, const std::uint64_t count, AlignedPointTVector &v)=0
 
virtual void readRangeSubSample (const std::uint64_t start, const std::uint64_t count, const double percent, AlignedPointTVector &v)=0
 

Protected Member Functions

 OutofcoreOctreeRamContainer (const OutofcoreOctreeRamContainer &)
 
OutofcoreOctreeRamContaineroperator= (const OutofcoreOctreeRamContainer &)
 
- Protected Member Functions inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
 OutofcoreAbstractNodeContainer (const OutofcoreAbstractNodeContainer &rval)
 

Protected Attributes

AlignedPointTVector container_
 linear container to hold the points More...
 
- Protected Attributes inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
AlignedPointTVector container_
 

Static Protected Attributes

static std::mutex rng_mutex_
 
static std::mt19937 rng_
 
- Static Protected Attributes inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
static std::mutex rng_mutex_
 

Detailed Description

template<typename PointT>
class pcl::outofcore::OutofcoreOctreeRamContainer< PointT >

Storage container class which the outofcore octree base is templated against.

Note
Code was adapted from the Urban Robotics out of core octree implementation. Contact Jacob Schloss jacob.nosp@m..sch.nosp@m.loss@.nosp@m.urba.nosp@m.nrobo.nosp@m.tics.nosp@m..net with any questions. http://www.urbanrobotics.net/
Author
Jacob Schloss (jacob.nosp@m..scl.nosp@m.oss@u.nosp@m.rban.nosp@m.robot.nosp@m.ics..nosp@m.net)

Definition at line 64 of file octree_ram_container.h.

Member Typedef Documentation

◆ AlignedPointTVector

Definition at line 67 of file octree_ram_container.h.

Constructor & Destructor Documentation

◆ OutofcoreOctreeRamContainer() [1/2]

template<typename PointT >
pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::OutofcoreOctreeRamContainer ( const boost::filesystem::path &  )
inline

empty constructor (with a path parameter?)

Definition at line 71 of file octree_ram_container.h.

References pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange().

◆ OutofcoreOctreeRamContainer() [2/2]

Definition at line 158 of file octree_ram_container.h.

Member Function Documentation

◆ clear()

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::clear ( )
inlinevirtual

◆ convertToXYZ()

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::convertToXYZ ( const boost::filesystem::path &  path)
virtual

Writes ascii x,y,z point data to path.string().c_str()

Parameters
pathThe path/filename destination of the ascii xyz data

Implements pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >.

Definition at line 60 of file octree_ram_container.hpp.

Referenced by pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::clear().

◆ empty()

template<typename PointT >
bool pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::empty ( ) const
inlinevirtual

◆ insertRange() [1/4]

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( const PointT start,
const std::uint64_t  count 
)
virtual

inserts count number of points into container; uses the container_ type's insert function

Parameters
[in]start- address of first point in array
[in]count- the maximum offset from start of points inserted

Implements pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >.

Definition at line 86 of file octree_ram_container.hpp.

Referenced by pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::OutofcoreOctreeRamContainer().

◆ insertRange() [2/4]

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( const PointT *const *  start,
const std::uint64_t  count 
)
virtual

inserts count points into container

Parameters
[in]start- address of first point in array
[in]count- the maximum offset from start of points inserted

Implements pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >.

Definition at line 94 of file octree_ram_container.hpp.

◆ insertRange() [3/4]

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( AlignedPointTVector )
inline

Definition at line 88 of file octree_ram_container.h.

◆ insertRange() [4/4]

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( const AlignedPointTVector )
inline

◆ operator=()

template<typename PointT >
OutofcoreOctreeRamContainer& pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::operator= ( const OutofcoreOctreeRamContainer< PointT > &  )
inlineprotected

Definition at line 161 of file octree_ram_container.h.

◆ operator[]()

template<typename PointT >
PointT pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::operator[] ( std::uint64_t  index) const
inlinevirtual

◆ readRange()

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::readRange ( const std::uint64_t  start,
const std::uint64_t  count,
AlignedPointTVector v 
)
Parameters
[in]startIndex of first point to return from container
[in]countOffset (start + count) of the last point to return from container
[out]vArray of points read from the input range

Definition at line 108 of file octree_ram_container.hpp.

Referenced by pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange().

◆ readRangeSubSample()

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::readRangeSubSample ( const std::uint64_t  start,
const std::uint64_t  count,
const double  percent,
AlignedPointTVector v 
)

grab percent*count random points.

points are NOT guaranteed to be unique (could have multiple identical points!)

Parameters
[in]startIndex of first point in range to subsample
[in]countOffset (start+count) of last point in range to subsample
[in]percentPercentage of range to return
[out]vVector with percent*count uniformly random sampled points from given input rangerange

Definition at line 118 of file octree_ram_container.hpp.

Referenced by pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange().

◆ size()

template<typename PointT >
std::uint64_t pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::size ( ) const
inlinevirtual

returns the size of the vector of points stored in this class

Implements pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >.

Definition at line 122 of file octree_ram_container.h.

References pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::container_.

Member Data Documentation

◆ container_

template<typename PointT >
AlignedPointTVector pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::container_
protected

◆ rng_

template<typename PointT >
std::mt19937 pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::rng_
staticprotected

Definition at line 170 of file octree_ram_container.h.

◆ rng_mutex_

template<typename PointT >
std::mutex pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::rng_mutex_
staticprotected

Definition at line 169 of file octree_ram_container.h.


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