W3cubDocs

/PointCloudLibrary

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>

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. More...
~OctreePointCloudAdjacencyContainer ()
Empty class deconstructor. More...
std::size_t getNumNeighbors () const
Returns the number of neighbors this leaf has. More...
uindex_t 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...
uindex_t getSize () const override
virtual method to get size of container More...
- Public Member Functions inherited from pcl::octree::OctreeContainerBase
virtual ~OctreeContainerBase ()=default
virtual bool operator== (const OctreeContainerBase &) const
Equal comparison operator. More...
bool operator!= (const OctreeContainerBase &other) const
Inequal comparison operator. More...
void addPointIndex (const index_t &)
Empty addPointIndex implementation. More...
void getPointIndex (index_t &) const
Empty getPointIndex implementation as this leaf node does not store any point indices. More...
void getPointIndices (Indices &) const
Empty getPointIndices implementation as this leaf node does not store any data. More...

Protected Types

using iterator = typename NeighborListT::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 (uindex_t points_arg)
Sets the number of points contributing to this leaf. More...
void reset () override
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...
void addPoint (const pcl::PointXYZRGB &new_point)
void addPoint (const pcl::PointXYZRGBA &new_point)
void computeData ()
void computeData ()
void addPoint (const pcl::PointXYZ &new_point)
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 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()

~OctreePointCloudAdjacencyContainer()

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

Empty class deconstructor.

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

Add new neighbor to voxel.

Parameters
[in] neighbor the new neighbor to add

Definition at line 191 of file octree_pointcloud_adjacency_container.h.

addPoint() [1/4]

addPoint() [2/4]

addPoint() [3/4]

addPoint() [4/4]

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

begin()

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

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() [1/4]

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

computeData() [2/4]

computeData() [3/4]

computeData() [4/4]

deepCopy()

end()

template<typename PointInT , typename DataT = PointInT>
iterator pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::end ( )
inlineprotected

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
inlineoverridevirtual

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 )
inlineprotected

Remove neighbor from neighbor set.

Parameters
[in] neighbor the neighbor to remove

Definition at line 200 of file octree_pointcloud_adjacency_container.h.

reset()

template<typename PointInT , typename DataT = PointInT>
void pcl::octree::OctreePointCloudAdjacencyContainer< PointInT, DataT >::reset ( )
inlineoverrideprotectedvirtual

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 )
inlineprotected

Sets the whole neighbor set.

Parameters
[in] neighbor_arg the new set

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

Sets the number of points contributing to this leaf.

Definition at line 173 of file octree_pointcloud_adjacency_container.h.

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

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 Function 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:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1octree_1_1_octree_point_cloud_adjacency_container.html