40 #ifndef PCL_OCTREE_POINTCLOUD_ADJACENCY_CONTAINER_H_ 41 #define PCL_OCTREE_POINTCLOUD_ADJACENCY_CONTAINER_H_ 53 template<
typename Po
intInT,
typename DataT = Po
intInT>
56 template<
typename T,
typename U,
typename V>
62 inline const_iterator
cbegin ()
const {
return (neighbors_.begin ()); }
63 inline const_iterator
cend ()
const {
return (neighbors_.end ()); }
65 inline size_t size ()
const {
return neighbors_.size (); }
85 return neighbors_.size ();
100 setData (
const DataT& data_arg) { data_ = data_arg;}
113 inline iterator
begin () {
return (neighbors_.begin ()); }
114 inline iterator
end () {
return (neighbors_.end ()); }
123 return new_container;
164 neighbors_.push_back (neighbor);
173 for (iterator neighb_it = neighbors_.begin(); neighb_it != neighbors_.end(); ++neighb_it)
175 if ( *neighb_it == neighbor)
177 neighbors_.erase (neighb_it);
189 neighbors_ = neighbor_arg;
194 NeighborListT neighbors_;
Octree container class that can serve as a base to construct own leaf node container classes...
virtual void reset()
Clear the voxel centroid.
Octree adjacency leaf container class- stores a list of pointers to neighbors, number of points added...
NeighborListT::const_iterator const_iterator
Octree pointcloud voxel class which maintains adjacency information for its voxels.
void setData(const DataT &data_arg)
Sets the data member.
virtual ~OctreePointCloudAdjacencyContainer()
Empty class deconstructor.
std::list< OctreePointCloudAdjacencyContainer * > NeighborListT
virtual OctreePointCloudAdjacencyContainer * deepCopy() const
deep copy function
virtual size_t getSize() const
virtual method to get size of container
const_iterator cbegin() const
NeighborListT::iterator iterator
int getPointCounter() const
Gets the number of points contributing to this leaf.
void setNeighbors(const NeighborListT &neighbor_arg)
Sets the whole neighbor set.
OctreePointCloudAdjacencyContainer()
Class initialization.
const_iterator cend() const
DataT & getData()
Returns a reference to the data member to access it without copying.
void addNeighbor(OctreePointCloudAdjacencyContainer *neighbor)
Add new neighbor to voxel.
void setPointCounter(int points_arg)
Sets the number of points contributing to this leaf.
void addPoint(const PointInT &)
Add new point to container- this just counts points.
size_t getNumNeighbors() const
Returns the number of neighbors this leaf has.
void computeData()
Function for working on data added.
void removeNeighbor(OctreePointCloudAdjacencyContainer *neighbor)
Remove neighbor from neighbor set.