Loading...
Searching...
No Matches
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

using | NeighborListT = std::list< OctreePointCloudAdjacencyContainer< PointInT, DataT > * >
using | const_iterator = typename NeighborListT::const_iterator

## Public Member Functions

const_iterator | cbegin () const
const_iterator | cend () const
std::size_t | size () const
| OctreePointCloudAdjacencyContainer ()
| Class initialization.
| ~OctreePointCloudAdjacencyContainer () override=default
| Empty class deconstructor.
std::size_t | getNumNeighbors () const
| Returns the number of neighbors this leaf has.
uindex_t | getPointCounter () const
| Gets the number of points contributing to this leaf.
DataT & | getData ()
| Returns a reference to the data member to access it without copying.
void | setData (const DataT &data_arg)
| Sets the data member.
uindex_t | getSize () const override
| virtual method to get size of container
Public Member Functions inherited from pcl::octree::OctreeContainerBase
virtual | ~OctreeContainerBase ()=default
virtual bool | operator== (const OctreeContainerBase &) const
| Equal comparison operator.
bool | operator!= (const OctreeContainerBase &other) const
| Inequal comparison operator.
virtual void | addPointIndex (index_t)
| Empty addPointIndex implementation.
void | getPointIndex (index_t &) const
| Empty getPointIndex implementation as this leaf node does not store any point indices.
virtual index_t | getPointIndex () const
| Empty getPointIndex implementation as this leaf node does not store any point indices.
virtual void | getPointIndices (Indices &) const
| Empty getPointIndices implementation as this leaf node does not store any data.

## Protected Types

using | iterator = typename NeighborListT::iterator

## Protected Member Functions

iterator | begin ()
iterator | end ()
virtual OctreePointCloudAdjacencyContainer * | deepCopy () const
| deep copy function
void | addPoint (const PointInT &)
| Add new point to container- this just counts points.
void | computeData ()
| Function for working on data added.
void | setPointCounter (uindex_t points_arg)
| Sets the number of points contributing to this leaf.
void | reset () override
| Clear the voxel centroid.
void | addNeighbor (OctreePointCloudAdjacencyContainer *neighbor)
| Add new neighbor to voxel.
void | removeNeighbor (OctreePointCloudAdjacencyContainer *neighbor)
| Remove neighbor from neighbor set.
void | setNeighbors (const NeighborListT &neighbor_arg)
| Sets the whole neighbor set.

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

## Member Typedef Documentation

## const_iterator

template<typename PointInT , typename DataT = PointInT>

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

Definition at line 62 of file octree_pointcloud_adjacency_container.h.

## iterator

template<typename PointInT , typename DataT = PointInT>

using pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::iterator = typename NeighborListT::iterator

protected

Definition at line 130 of file octree_pointcloud_adjacency_container.h.

## NeighborListT

template<typename PointInT , typename DataT = PointInT>

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

Definition at line 61 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 82 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>

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

override default

Empty class deconstructor.

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

## addPoint()

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

## begin()

template<typename PointInT , typename DataT = PointInT>

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

inline protected

Definition at line 132 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 65 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 70 of file octree_pointcloud_adjacency_container.h.

## computeData()

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

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

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

## end()

template<typename PointInT , typename DataT = PointInT>

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

inline protected

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

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

## getNumNeighbors()

template<typename PointInT , typename DataT = PointInT>

std::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 91 of file octree_pointcloud_adjacency_container.h.

## getPointCounter()

template<typename PointInT , typename DataT = PointInT>

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

inline

Gets the number of points contributing to this leaf.

Definition at line 98 of file octree_pointcloud_adjacency_container.h.

## getSize()

template<typename PointInT , typename DataT = PointInT>

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

inline override 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 123 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 199 of file octree_pointcloud_adjacency_container.h.

## reset()

template<typename PointInT , typename DataT = PointInT>

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

inline override protected virtual

Clear the voxel centroid.

Implements pcl::octree::OctreeContainerBase.

Definition at line 179 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 114 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 214 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 | ( | uindex_t | points_arg | ) |

inline protected

Sets the number of points contributing to this leaf.

Definition at line 172 of file octree_pointcloud_adjacency_container.h.

## size()

template<typename PointInT , typename DataT = PointInT>

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

inline

Definition at line 76 of file octree_pointcloud_adjacency_container.h.

## Friends And Related Symbol Documentation

## OctreePointCloudAdjacency

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

friend class OctreePointCloudAdjacency

friend

Definition at line 58 of file octree_pointcloud_adjacency_container.h.

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

- pcl/octree/octree_pointcloud_adjacency_container.h