Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
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?)
void insertRange (const PointT *start, const std::uint64_t count)
 inserts count number of points into container; uses the container_ type's insert function
void insertRange (const PointT *const *start, const std::uint64_t count)
 inserts count points into container
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.
std::uint64_t size () const
 returns the size of the vector of points stored in this class
bool empty () const
void clear ()
 clears the vector of points in this class
void convertToXYZ (const boost::filesystem::path &path)
 Writes ascii x,y,z point data to path.string().c_str().
PointT operator[] (std::uint64_t index) const
Public Member Functions inherited from pcl::outofcore::OutofcoreAbstractNodeContainer< PointT >
 OutofcoreAbstractNodeContainer ()
 OutofcoreAbstractNodeContainer (const boost::filesystem::path &)
virtual ~OutofcoreAbstractNodeContainer ()=default

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

Member Typedef Documentation

◆ AlignedPointTVector

template<typename PointT>
using pcl::outofcore::OutofcoreOctreeRamContainer< PointT >::AlignedPointTVector = typename OutofcoreAbstractNodeContainer<PointT>::AlignedPointTVector

Definition at line 65 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 69 of file octree_ram_container.h.

References container_.

Referenced by operator=(), and OutofcoreOctreeRamContainer().

◆ OutofcoreOctreeRamContainer() [2/2]

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

Definition at line 156 of file octree_ram_container.h.

References OutofcoreOctreeRamContainer().

Member Function Documentation

◆ clear()

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

clears the vector of points in this class

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

Definition at line 134 of file octree_ram_container.h.

References container_.

◆ 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.

References container_, and size().

◆ empty()

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

◆ insertRange() [1/4]

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

Definition at line 86 of file octree_ram_container.h.

◆ insertRange() [2/4]

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

Definition at line 93 of file octree_ram_container.h.

◆ insertRange() [3/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.

References container_.

◆ insertRange() [4/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.

References container_.

◆ operator=()

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

Definition at line 159 of file octree_ram_container.h.

References OutofcoreOctreeRamContainer().

◆ 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 )
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 108 of file octree_ram_container.hpp.

References container_.

◆ 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 )
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 118 of file octree_ram_container.hpp.

References container_, rng_, and rng_mutex_.

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

References container_.

Referenced by convertToXYZ().

Member Data Documentation

◆ container_

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

linear container to hold the points

Definition at line 165 of file octree_ram_container.h.

Referenced by clear(), convertToXYZ(), empty(), insertRange(), insertRange(), operator[](), OutofcoreOctreeRamContainer(), readRange(), readRangeSubSample(), and size().

◆ rng_

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

Definition at line 168 of file octree_ram_container.h.

Referenced by readRangeSubSample().

◆ rng_mutex_

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

Definition at line 167 of file octree_ram_container.h.

Referenced by readRangeSubSample().


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