Point Cloud Library (PCL)  1.7.1
List of all members | Public Types | Public Member Functions
pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT > Class Template Reference

Octree adjacency leaf container class- stores set of pointers to neighbors, number of points added, and a DataT value More...

#include <pcl/octree/octree_pointcloud_adjacency_container.h>

+ Inheritance diagram for pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >:

Public Types

typedef std::set
< OctreePointCloudAdjacencyContainer * > 
NeighborSetT
 
typedef NeighborSetT::iterator iterator
 
typedef
NeighborSetT::const_iterator 
const_iterator
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
std::pair< iterator, bool > insert (OctreePointCloudAdjacencyContainer *neighbor)
 
 OctreePointCloudAdjacencyContainer ()
 Class initialization. More...
 
virtual ~OctreePointCloudAdjacencyContainer ()
 Empty class deconstructor. More...
 
virtual
OctreePointCloudAdjacencyContainer
deepCopy () const
 deep copy function More...
 
void addPoint (const PointInT &new_point)
 Add new point to container- this just counts points. More...
 
void computeData ()
 Function for working on data added. More...
 
int getPointCounter () const
 Gets the number of points contributing to this leaf. More...
 
void setPointCounter (int points_arg)
 Sets the number of points contributing to this leaf. More...
 
virtual void reset ()
 Clear the voxel centroid. More...
 
void addNeighbor (OctreePointCloudAdjacencyContainer *neighbor)
 Add new neighbor to voxel. More...
 
void removeNeighbor (OctreePointCloudAdjacencyContainer *neighbor)
 Remove neighbor from neighbor set. More...
 
size_t getNumNeighbors () const
 Returns the number of neighbors this leaf has. More...
 
void setNeighbors (const NeighborSetT &neighbor_arg)
 Sets the whole neighbor set. More...
 
DataT & getData ()
 Returns a reference to the data member to access it without copying. More...
 
void setData (const DataT &data_arg)
 Sets the data member. More...
 
virtual size_t getSize ()
 virtual method to get size of container More...
 
template<>
void addPoint (const pcl::PointXYZRGB &new_point)
 
template<>
void addPoint (const pcl::PointXYZRGBA &new_point)
 
template<>
void computeData ()
 
template<>
void computeData ()
 
- Public Member Functions inherited from pcl::octree::OctreeContainerBase
 OctreeContainerBase ()
 Empty constructor. More...
 
 OctreeContainerBase (const OctreeContainerBase &)
 Empty constructor. More...
 
virtual ~OctreeContainerBase ()
 Empty deconstructor. More...
 
virtual bool operator== (const OctreeContainerBase &) const
 Equal comparison operator. More...
 
bool operator!= (const OctreeContainerBase &other) const
 Inequal comparison operator. More...
 
void addPointIndex (const int &)
 Empty addPointIndex implementation. More...
 
void getPointIndex (int &) const
 Empty getPointIndex implementation as this leaf node does not store any point indices. More...
 
void getPointIndices (std::vector< int > &) const
 Empty getPointIndices implementation as this leaf node does not store any data. More...
 

Detailed Description

template<typename PointInT, typename DataT = PointInT>
class pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >

Octree adjacency leaf container class- stores set of pointers to neighbors, number of points added, and a DataT value

Note
This class implements a leaf node that stores pointers to neighboring leaves
This class also has a virtual computeData function, which is called by octreePointCloudAdjacency::addPointsFromInputCloud.
You should make explicit instantiations of it for your pointtype/datatype combo (if needed) see supervoxel_clustering.hpp for an example of this

Definition at line 54 of file octree_pointcloud_adjacency_container.h.

Member Typedef Documentation

template<typename PointInT , typename DataT = PointInT>
typedef NeighborSetT::const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::const_iterator

Definition at line 60 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
typedef NeighborSetT::iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::iterator

Definition at line 59 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
typedef std::set<OctreePointCloudAdjacencyContainer*> pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::NeighborSetT

Definition at line 57 of file octree_pointcloud_adjacency_container.h.

Constructor & Destructor Documentation

template<typename PointInT , typename DataT = PointInT>
pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::OctreePointCloudAdjacencyContainer ( )
inline
template<typename PointInT , typename DataT = PointInT>
virtual pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::~OctreePointCloudAdjacencyContainer ( )
inlinevirtual

Empty class deconstructor.

Definition at line 78 of file octree_pointcloud_adjacency_container.h.

Member Function Documentation

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::addNeighbor ( OctreePointCloudAdjacencyContainer< PointInT, DataT > *  neighbor)
inline

Add new neighbor to voxel.

Parameters
[in]neighborthe new neighbor to add

Definition at line 132 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::addPoint ( const PointInT &  new_point)
inline

Add new point to container- this just counts points.

Note
To actually store data in the leaves, need to specialize this for your point and data type as in supervoxel_clustering.hpp
Parameters
[in]new_pointthe new point to add

Definition at line 98 of file octree_pointcloud_adjacency_container.h.

Definition at line 704 of file supervoxel_clustering.hpp.

Definition at line 719 of file supervoxel_clustering.hpp.

template<typename PointInT , typename DataT = PointInT>
iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::begin ( )
inline

Definition at line 61 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::begin ( ) const
inline

Definition at line 63 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::computeData ( )
inline

Function for working on data added.

Base implementation does nothing

Definition at line 107 of file octree_pointcloud_adjacency_container.h.

Definition at line 736 of file supervoxel_clustering.hpp.

Definition at line 747 of file supervoxel_clustering.hpp.

template<typename PointInT , typename DataT = PointInT>
virtual OctreePointCloudAdjacencyContainer* pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::deepCopy ( ) const
inlinevirtual
template<typename PointInT , typename DataT = PointInT>
iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::end ( )
inline

Definition at line 62 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::end ( ) const
inline

Definition at line 64 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
DataT& pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getData ( )
inline

Returns a reference to the data member to access it without copying.

Definition at line 167 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getNumNeighbors ( ) const
inline

Returns the number of neighbors this leaf has.

Returns
number of neighbors

Definition at line 151 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
int pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getPointCounter ( ) const
inline

Gets the number of points contributing to this leaf.

Definition at line 113 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
virtual size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getSize ( )
inlinevirtual

virtual method to get size of container

Returns
number of points added to leaf node container.

Reimplemented from pcl::octree::OctreeContainerBase.

Definition at line 179 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
std::pair<iterator, bool> pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::insert ( OctreePointCloudAdjacencyContainer< PointInT, DataT > *  neighbor)
inline

Definition at line 68 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::removeNeighbor ( OctreePointCloudAdjacencyContainer< PointInT, DataT > *  neighbor)
inline

Remove neighbor from neighbor set.

Parameters
[in]neighborthe neighbor to remove

Definition at line 141 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
virtual void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::reset ( )
inlinevirtual
template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setData ( const DataT &  data_arg)
inline

Sets the data member.

Parameters
[in]data_argNew value for data

Definition at line 173 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setNeighbors ( const NeighborSetT neighbor_arg)
inline

Sets the whole neighbor set.

Parameters
[in]neighbor_argthe new set

Definition at line 160 of file octree_pointcloud_adjacency_container.h.

Referenced by pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::deepCopy().

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setPointCounter ( int  points_arg)
inline

Sets the number of points contributing to this leaf.

Definition at line 117 of file octree_pointcloud_adjacency_container.h.

Referenced by pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::deepCopy().

template<typename PointInT , typename DataT = PointInT>
size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::size ( ) const
inline

Definition at line 66 of file octree_pointcloud_adjacency_container.h.


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