39 #ifndef PCL_OCTREE_CONTAINER_H 40 #define PCL_OCTREE_CONTAINER_H 45 #include <pcl/pcl_macros.h> 88 return (!
operator== (other));
189 assert(
"getPointIndex: undefined point index");
244 return (this->data_ == otherConDataT->
data_);
272 data_vector_arg.push_back (data_);
281 return data_<0 ? 0 : 1;
345 leafDataTVector_.push_back (data_arg);
354 return leafDataTVector_.back ();
363 data_vector_arg.insert (data_vector_arg.end (), leafDataTVector_.begin (), leafDataTVector_.end ());
372 return leafDataTVector_;
381 return leafDataTVector_.size ();
388 leafDataTVector_.clear ();
size_t getSize() const
Get size of container (number of indices)
Octree container class that can serve as a base to construct own leaf node container classes...
void getPointIndices(std::vector< int > &data_vector_arg) const
Retrieve point indices from container.
void getPointIndices(std::vector< int > &) const
Empty getPointIndices implementation as this leaf node does not store any data.
virtual ~OctreeContainerPointIndex()
Empty deconstructor.
void addPointIndex(int data_arg)
Add point index to container memory.
int getPointIndex() const
Empty getPointIndex implementation as this leaf node does not store any point indices.
Octree container class that does store a single point index.
virtual void reset()
Reset leaf node memory to zero.
OctreeContainerBase(const OctreeContainerBase &)
Empty constructor.
This file defines compatibility wrappers for low level I/O functions.
OctreeContainerEmpty(const OctreeContainerEmpty &)
Empty constructor.
void getPointIndex(int &) const
Empty getPointIndex implementation as this leaf node does not store any point indices.
virtual OctreeContainerPointIndex * deepCopy() const
Octree deep copy method.
virtual OctreeContainerEmpty * deepCopy() const
Octree deep copy method.
void getPointIndices(std::vector< int > &data_vector_arg) const
Retrieve point indices from container.
virtual size_t getSize() const
Pure abstract method to get size of container (number of indices)
OctreeContainerPointIndices()
Empty constructor.
void addPointIndex(int data_arg)
Add point index to container memory.
OctreeContainerPointIndex()
Empty constructor.
void getPointIndices(std::vector< int > &) const
Empty getPointIndices implementation as this leaf node does not store any data.
virtual void reset()=0
Pure abstract reset leaf node implementation.
virtual size_t getSize() const
Abstract get size of container (number of DataT objects)
int data_
Point index stored in octree.
virtual ~OctreeContainerPointIndices()
Empty deconstructor.
int getPointIndex() const
Retrieve point index from container.
virtual void reset()
Abstract reset leaf node implementation.
Octree container class that does store a vector of point indices.
void addPointIndex(int)
Empty addPointIndex implementation.
virtual ~OctreeContainerBase()
Empty deconstructor.
OctreeContainerPointIndex(const OctreeContainerPointIndex &source)
Empty constructor.
std::vector< int > & getPointIndicesVector()
Retrieve reference to point indices vector.
bool operator!=(const OctreeContainerBase &other) const
Inequal comparison operator.
OctreeContainerBase()
Empty constructor.
OctreeContainerEmpty()
Empty constructor.
size_t getSize() const
Get size of container (number of DataT objects)
virtual void reset()
Reset leaf node.
virtual bool operator==(const OctreeContainerBase &) const
Equal comparison operator.
virtual ~OctreeContainerEmpty()
Empty deconstructor.
void addPointIndex(const int &)
Empty addPointIndex implementation.
Octree container class that does not store any information.
std::vector< int > leafDataTVector_
Leaf node DataT vector.
OctreeContainerPointIndices(const OctreeContainerPointIndices &source)
Empty constructor.
virtual OctreeContainerPointIndices * deepCopy() const
Octree deep copy method.
int getPointIndex() const
Retrieve point index from container.