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 OctreePointCloudAdjacencyContainer * | deepCopy () 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 54 of file octree_pointcloud_adjacency_container.h.

## Member Typedef Documentation

## const_iterator

template<typename PointInT , typename DataT = PointInT>

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

Definition at line 60 of file octree_pointcloud_adjacency_container.h.

## iterator

template<typename PointInT , typename DataT = PointInT>

typedef NeighborListT::iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::iterator

protected

Definition at line 112 of file octree_pointcloud_adjacency_container.h.

## NeighborListT

template<typename PointInT , typename DataT = PointInT>

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

Definition at line 59 of file octree_pointcloud_adjacency_container.h.

## Constructor & Destructor Documentation

## OctreePointCloudAdjacencyContainer()

template<typename PointInT , typename DataT = PointInT>

pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::OctreePointCloudAdjacencyContainer | ( |  | ) |

inline

Class initialization.

Definition at line 68 of file octree_pointcloud_adjacency_container.h.

References pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::reset().

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

## ~OctreePointCloudAdjacencyContainer()

template<typename PointInT , typename DataT = PointInT>

virtual pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::~OctreePointCloudAdjacencyContainer | ( |  | ) |

inline virtual

Empty class deconstructor.

Definition at line 75 of file octree_pointcloud_adjacency_container.h.

## Member Function Documentation

## addNeighbor()

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::addNeighbor | ( | OctreePointCloudAdjacencyContainer< PointInT, DataT > * | neighbor | ) |

inline protected

Add new neighbor to voxel.

Parameters

  [in] | neighbor | the new neighbor to add

Definition at line 162 of file octree_pointcloud_adjacency_container.h.

## addPoint() [1/4]

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::addPoint | ( | const PointInT & |  | ) |

inline protected

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 132 of file octree_pointcloud_adjacency_container.h.

## addPoint() [2/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGB, pcl::SupervoxelClustering< pcl::PointXYZRGB >::VoxelData >::addPoint | ( | const pcl::PointXYZRGB & | new_point | ) |

protected

## addPoint() [3/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGBA, pcl::SupervoxelClustering< pcl::PointXYZRGBA >::VoxelData >::addPoint | ( | const pcl::PointXYZRGBA & | new_point | ) |

protected

## addPoint() [4/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZ, pcl::SupervoxelClustering< pcl::PointXYZ >::VoxelData >::addPoint | ( | const pcl::PointXYZ & | new_point | ) |

protected

## begin()

template<typename PointInT , typename DataT = PointInT>

iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::begin | ( |  | ) |

inline protected

Definition at line 113 of file octree_pointcloud_adjacency_container.h.

## cbegin()

template<typename PointInT , typename DataT = PointInT>

const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::cbegin | ( |  | ) | const

inline

Definition at line 62 of file octree_pointcloud_adjacency_container.h.

## cend()

template<typename PointInT , typename DataT = PointInT>

const_iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::cend | ( |  | ) | const

inline

Definition at line 63 of file octree_pointcloud_adjacency_container.h.

## computeData() [1/4]

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::computeData | ( |  | ) |

inline protected

Function for working on data added.

Base implementation does nothing

Definition at line 141 of file octree_pointcloud_adjacency_container.h.

## computeData() [2/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGB, pcl::SupervoxelClustering< pcl::PointXYZRGB >::VoxelData >::computeData | ( |  | ) |

protected

## computeData() [3/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZRGBA, pcl::SupervoxelClustering< pcl::PointXYZRGBA >::VoxelData >::computeData | ( |  | ) |

protected

## computeData() [4/4]

template<>

void pcl::octree::OctreePointCloudAdjacencyContainer< pcl::PointXYZ, pcl::SupervoxelClustering< pcl::PointXYZ >::VoxelData >::computeData | ( |  | ) |

protected

## deepCopy()

template<typename PointInT , typename DataT = PointInT>

virtual OctreePointCloudAdjacencyContainer* pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::deepCopy | ( |  | ) | const

inline protected virtual

deep copy function

Definition at line 118 of file octree_pointcloud_adjacency_container.h.

References pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::OctreePointCloudAdjacencyContainer(), pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setNeighbors(), and pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setPointCounter().

## end()

template<typename PointInT , typename DataT = PointInT>

iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::end | ( |  | ) |

inline protected

Definition at line 114 of file octree_pointcloud_adjacency_container.h.

## getData()

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 94 of file octree_pointcloud_adjacency_container.h.

Referenced by pcl::SupervoxelClustering< PointT >::VoxelData::getNormal(), pcl::SupervoxelClustering< PointT >::SupervoxelHelper::compareLeaves::operator()(), and pcl::SupervoxelClustering< PointT >::refineSupervoxels().

## getNumNeighbors()

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 83 of file octree_pointcloud_adjacency_container.h.

## getPointCounter()

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 90 of file octree_pointcloud_adjacency_container.h.

## getSize()

template<typename PointInT , typename DataT = PointInT>

virtual size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::getSize | ( |  | ) | const

inline virtual

virtual method to get size of container

Returns
  number of points added to leaf node container.

Reimplemented from pcl::octree::OctreeContainerBase.

Definition at line 106 of file octree_pointcloud_adjacency_container.h.

## removeNeighbor()

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::removeNeighbor | ( | OctreePointCloudAdjacencyContainer< PointInT, DataT > * | neighbor | ) |

inline protected

Remove neighbor from neighbor set.

Parameters

  [in] | neighbor | the neighbor to remove

Definition at line 171 of file octree_pointcloud_adjacency_container.h.

## reset()

template<typename PointInT , typename DataT = PointInT>

virtual void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::reset | ( |  | ) |

inline protected virtual

Clear the voxel centroid.

Implements pcl::octree::OctreeContainerBase.

Definition at line 151 of file octree_pointcloud_adjacency_container.h.

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

## setData()

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_arg | New value for data

Definition at line 100 of file octree_pointcloud_adjacency_container.h.

## setNeighbors()

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setNeighbors | ( | const NeighborListT & | neighbor_arg | ) |

inline protected

Sets the whole neighbor set.

Parameters

  [in] | neighbor_arg | the new set

Definition at line 187 of file octree_pointcloud_adjacency_container.h.

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

## setPointCounter()

template<typename PointInT , typename DataT = PointInT>

void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::setPointCounter | ( | int | points_arg | ) |

inline protected

Sets the number of points contributing to this leaf.

Definition at line 147 of file octree_pointcloud_adjacency_container.h.

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

## size()

template<typename PointInT , typename DataT = PointInT>

size_t pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::size | ( |  | ) | const

inline

Definition at line 65 of file octree_pointcloud_adjacency_container.h.

## Friends And Related Function Documentation

## OctreePointCloudAdjacency

template<typename PointInT , typename DataT = PointInT>
template<typename T , typename U , typename V >

friend class OctreePointCloudAdjacency

friend

Definition at line 57 of file octree_pointcloud_adjacency_container.h.

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/octree/include/pcl/octree/octree_pointcloud_adjacency_container.h