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

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

Public Member Functions

 OutofcoreOctreeRamContainer (const boost::filesystem::path &)
 empty constructor (with a path parameter?) More...
 
void insertRange (const PointT *start, const 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 uint64_t count)
 inserts count points into container More...
 
void insertRange (AlignedPointTVector &)
 
void insertRange (const AlignedPointTVector &)
 
void readRange (const uint64_t start, const uint64_t count, AlignedPointTVector &v)
 
void readRangeSubSample (const uint64_t start, const uint64_t count, const double percent, AlignedPointTVector &v)
 grab percent*count random points. More...
 
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[] (uint64_t index) const
 
- Public Member Functions inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
 OutofcoreAbstractNodeContainer ()
 
 OutofcoreAbstractNodeContainer (const boost::filesystem::path &)
 
virtual ~OutofcoreAbstractNodeContainer ()
 

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 boost::mutex rng_mutex_
 
static boost::mt19937 rand_gen_
 
- Static Protected Attributes inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
static boost::mutex rng_mutex_
 
static boost::mt19937 rand_gen_
 

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 62 of file octree_ram_container.h.

Member Typedef Documentation

Definition at line 65 of file octree_ram_container.h.

Constructor & Destructor Documentation

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

empty constructor (with a path parameter?)

Definition at line 69 of file octree_ram_container.h.

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

Definition at line 156 of file octree_ram_container.h.

Member Function Documentation

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::clear ( )
inlinevirtual
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 61 of file octree_ram_container.hpp.

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

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

template<typename PointT >
bool pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::empty ( ) const
inlinevirtual
template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( const PointT start,
const 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 >.

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

template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::insertRange ( const PointT *const *  start,
const 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 >.

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

Definition at line 86 of file octree_ram_container.h.

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

Definition at line 159 of file octree_ram_container.h.

template<typename PointT >
PointT pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::operator[] ( uint64_t  index) const
inlinevirtual
template<typename PointT >
void pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::readRange ( const uint64_t  start,
const uint64_t  count,
AlignedPointTVector v 
)
virtual
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

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

Definition at line 109 of file octree_ram_container.hpp.

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

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

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

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

Definition at line 119 of file octree_ram_container.hpp.

References pcl::outofcore::rand_gen_.

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

template<typename PointT >
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 120 of file octree_ram_container.h.

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

Member Data Documentation

template<typename PointT >
AlignedPointTVector pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::container_
protected
template<typename PointT >
boost::mt19937 pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::rand_gen_
staticprotected

Definition at line 168 of file octree_ram_container.h.

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

Definition at line 167 of file octree_ram_container.h.


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