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

Octree adjacency leaf container class- stores a list 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::list< OctreePointCloudAdjacencyContainer * > NeighborListT
 
typedef NeighborListT::const_iterator const_iterator
 

Public Member Functions

const_iterator cbegin () const
 
const_iterator cend () const
 
size_t size () const
 
 OctreePointCloudAdjacencyContainer ()
 Class initialization. More...
 
virtual ~OctreePointCloudAdjacencyContainer ()
 Empty class deconstructor. More...
 
size_t getNumNeighbors () const
 Returns the number of neighbors this leaf has. More...
 
int getPointCounter () const
 Gets the number of points contributing to this leaf. 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 () const
 virtual method to get size of container More...
 
- 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...
 

Protected Types

typedef NeighborListT::iterator iterator
 

Protected Member Functions

iterator begin ()
 
iterator end ()
 
virtual OctreePointCloudAdjacencyContainerdeepCopy () const
 deep copy function More...
 
void addPoint (const PointInT &)
 Add new point to container- this just counts points. More...
 
void computeData ()
 Function for working on data added. 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...
 
void setNeighbors (const NeighborListT &neighbor_arg)
 Sets the whole neighbor set. More...
 
template<>
void addPoint (const pcl::PointXYZRGB &new_point)
 
template<>
void addPoint (const pcl::PointXYZRGBA &new_point)
 
template<>
void computeData ()
 
template<>
void computeData ()
 
template<>
void addPoint (const pcl::PointXYZ &new_point)
 
template<>
void computeData ()
 

Friends

template<typename T , typename U , typename V >
class OctreePointCloudAdjacency
 

Detailed Description

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

Octree adjacency leaf container class- stores a list 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 53 of file octree_pointcloud_adjacency_container.h.

Member Typedef Documentation

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

Definition at line 59 of file octree_pointcloud_adjacency_container.h.

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

Definition at line 111 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
typedef std::list<OctreePointCloudAdjacencyContainer*> pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::NeighborListT

Definition at line 58 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 74 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)
inlineprotected

Add new neighbor to voxel.

Parameters
[in]neighborthe new neighbor to add

Definition at line 161 of file octree_pointcloud_adjacency_container.h.

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

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

Definition at line 131 of file octree_pointcloud_adjacency_container.h.

template<>
void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGB, pcl::SupervoxelClustering< pcl::PointXYZRGB >::VoxelData >::addPoint ( const pcl::PointXYZRGB new_point)
protected
template<>
void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGBA, pcl::SupervoxelClustering< pcl::PointXYZRGBA >::VoxelData >::addPoint ( const pcl::PointXYZRGBA new_point)
protected
template<>
void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZ, pcl::SupervoxelClustering< pcl::PointXYZ >::VoxelData >::addPoint ( const pcl::PointXYZ new_point)
protected
template<typename PointInT , typename DataT = PointInT>
iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::begin ( )
inlineprotected

Definition at line 112 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::cbegin ( ) const
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 >::cend ( ) const
inline

Definition at line 62 of file octree_pointcloud_adjacency_container.h.

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

Function for working on data added.

Base implementation does nothing

Definition at line 140 of file octree_pointcloud_adjacency_container.h.

template<>
void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZ, pcl::SupervoxelClustering< pcl::PointXYZ >::VoxelData >::computeData ( )
protected
template<typename PointInT , typename DataT = PointInT>
virtual OctreePointCloudAdjacencyContainer* pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::deepCopy ( ) const
inlineprotectedvirtual
template<typename PointInT , typename DataT = PointInT>
iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::end ( )
inlineprotected

Definition at line 113 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
DataT& pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getData ( )
inline
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 82 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 89 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
virtual size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getSize ( ) const
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 105 of file octree_pointcloud_adjacency_container.h.

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

Remove neighbor from neighbor set.

Parameters
[in]neighborthe neighbor to remove

Definition at line 170 of file octree_pointcloud_adjacency_container.h.

template<typename PointInT , typename DataT = PointInT>
virtual void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::reset ( )
inlineprotectedvirtual
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 99 of file octree_pointcloud_adjacency_container.h.

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

Sets the whole neighbor set.

Parameters
[in]neighbor_argthe new set

Definition at line 186 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)
inlineprotected

Sets the number of points contributing to this leaf.

Definition at line 146 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 64 of file octree_pointcloud_adjacency_container.h.

Friends And Related Function Documentation

template<typename PointInT , typename DataT = PointInT>
template<typename T , typename U , typename V >
friend class OctreePointCloudAdjacency
friend

Definition at line 56 of file octree_pointcloud_adjacency_container.h.


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