pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT > Class Template Reference
Module octree

Octree pointcloud point vector class More...

`#include <pcl/octree/octree_pointcloud_pointvector.h>`

Inheritance diagram for pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT >:

## Public Types

typedef OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT, BranchContainerT > > | SingleBuffer
Public Types inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >
typedef OctreeT | Base
typedef OctreeT::LeafNode | LeafNode
typedef OctreeT::BranchNode | BranchNode
typedef OctreeDepthFirstIterator< OctreeT > | Iterator
typedef const OctreeDepthFirstIterator< OctreeT > | ConstIterator
typedef OctreeLeafNodeIterator< OctreeT > | LeafNodeIterator
typedef const OctreeLeafNodeIterator< OctreeT > | ConstLeafNodeIterator
typedef OctreeDepthFirstIterator< OctreeT > | DepthFirstIterator
typedef const OctreeDepthFirstIterator< OctreeT > | ConstDepthFirstIterator
typedef OctreeBreadthFirstIterator< OctreeT > | BreadthFirstIterator
typedef const OctreeBreadthFirstIterator< OctreeT > | ConstBreadthFirstIterator
typedef boost::shared_ptr< std::vector< int > > | IndicesPtr
typedef boost::shared_ptr< const std::vector< int > > | IndicesConstPtr
typedef pcl::PointCloud< PointT > | PointCloud
typedef boost::shared_ptr< PointCloud > | PointCloudPtr
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr
typedef OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT > > | SingleBuffer
typedef boost::shared_ptr< OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > | Ptr
typedef boost::shared_ptr< const OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > | ConstPtr
typedef std::vector< PointT, Eigen::aligned_allocator< PointT > > | AlignedPointTVector
typedef std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > > | AlignedPointXYZVector

## Public Member Functions

| OctreePointCloudPointVector (const double resolution_arg)
| Constructor. More...
virtual | ~OctreePointCloudPointVector ()
| Empty class constructor. More...
Public Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >
| OctreePointCloud (const double resolution_arg)
| Octree pointcloud constructor. More...
virtual | ~OctreePointCloud ()
| Empty deconstructor. More...
void | setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr())
| Provide a pointer to the input data set. More...
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used. More...
PointCloudConstPtr | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
void | setEpsilon (double eps)
| Set the search epsilon precision (error bound) for nearest neighbors searches. More...
double | getEpsilon () const
| Get the search epsilon precision (error bound) for nearest neighbors searches. More...
void | setResolution (double resolution_arg)
| Set/change the octree voxel resolution. More...
double | getResolution () const
| Get octree voxel resolution. More...
unsigned int | getTreeDepth () const
| Get the maximum depth of the octree. More...
void | addPointsFromInputCloud ()
| Add points from input point cloud to octree. More...
void | addPointFromCloud (const int point_idx_arg, IndicesPtr indices_arg)
| Add point at given index from input point cloud to octree. More...
void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg)
| Add point simultaneously to octree and input point cloud. More...
void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg)
| Add point simultaneously to octree and input point cloud. More...
bool | isVoxelOccupiedAtPoint (const PointT &point_arg) const
| Check if voxel at given point exist. More...
void | deleteTree ()
| Delete the octree structure and its leaf nodes. More...
bool | isVoxelOccupiedAtPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg) const
| Check if voxel at given point coordinates exist. More...
bool | isVoxelOccupiedAtPoint (const int &point_idx_arg) const
| Check if voxel at given point from input cloud exist. More...
int | getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const
| Get a PointT vector of centers of all occupied voxels. More...
int | getApproxIntersectedVoxelCentersBySegment (const Eigen::Vector3f &origin, const Eigen::Vector3f &end, AlignedPointTVector &voxel_center_list, float precision=0.2)
| Get a PointT vector of centers of voxels intersected by a line segment. More...
void | deleteVoxelAtPoint (const PointT &point_arg)
| Delete leaf node / voxel at given point. More...
void | deleteVoxelAtPoint (const int &point_idx_arg)
| Delete leaf node / voxel at given point from input cloud. More...
void | defineBoundingBox ()
| Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. More...
void | defineBoundingBox (const double min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg)
| Define bounding box for octree. More...
void | defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg)
| Define bounding box for octree. More...
void | defineBoundingBox (const double cubeLen_arg)
| Define bounding box cube for octree. More...
void | getBoundingBox (double &min_x_arg, double &min_y_arg, double &min_z_arg, double &max_x_arg, double &max_y_arg, double &max_z_arg) const
| Get bounding box for octree. More...
double | getVoxelSquaredDiameter (unsigned int tree_depth_arg) const
| Calculates the squared diameter of a voxel at given tree depth. More...
double | getVoxelSquaredDiameter () const
| Calculates the squared diameter of a voxel at leaf depth. More...
double | getVoxelSquaredSideLen (unsigned int tree_depth_arg) const
| Calculates the squared voxel cube side length at given tree depth. More...
double | getVoxelSquaredSideLen () const
| Calculates the squared voxel cube side length at leaf level. More...
void | getVoxelBounds (OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt)
| Generate bounds of the current voxel of an octree iterator. More...
void | enableDynamicDepth (size_t maxObjsPerLeaf)
| Enable dynamic octree structure. More...

## Additional Inherited Members

Protected Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >
virtual void | addPointIdx (const int point_idx_arg)
| Add point at index from input pointcloud dataset to octree. More...
void | expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, unsigned int depth_mask)
| Add point at index from input pointcloud dataset to octree. More...
const PointT & | getPointByIndex (const unsigned int index_arg) const
| Get point at index from input pointcloud dataset. More...
LeafContainerT * | findLeafAtPoint (const PointT &point_arg) const
| Find octree leaf node at a given point. More...
void | getKeyBitSize ()
| Define octree key setting and octree depth based on defined bounding box. More...
void | adoptBoundingBoxToPoint (const PointT &point_idx_arg)
| Grow the bounding box/octree until point fits. More...
bool | isPointWithinBoundingBox (const PointT &point_idx_arg) const
| Checks if given point is within the bounding box of the octree. More...
void | genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const
| Generate octree key for voxel at a given point. More...
void | genOctreeKeyforPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg, OctreeKey &key_arg) const
| Generate octree key for voxel at a given point. More...
virtual bool | genOctreeKeyForDataT (const int &data_arg, OctreeKey &key_arg) const
| Virtual method for generating octree key for a given point index. More...
void | genLeafNodeCenterFromOctreeKey (const OctreeKey &key_arg, PointT &point_arg) const
| Generate a point at center of leaf node voxel. More...
void | genVoxelCenterFromOctreeKey (const OctreeKey &key_arg, unsigned int tree_depth_arg, PointT &point_arg) const
| Generate a point at center of octree voxel at given tree level. More...
void | genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, unsigned int tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
| Generate bounds of an octree voxel using octree key and tree depth arguments. More...
int | getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const
| Recursively search the tree for all leaf nodes and return a vector of voxel centers. More...
Protected Attributes inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >
PointCloudConstPtr | input_
| Pointer to input point cloud dataset. More...
IndicesConstPtr | indices_
| A pointer to the vector of point indices to use. More...
double | epsilon_
| Epsilon precision (error bound) for nearest neighbors searches. More...
double | resolution_
| Octree resolution. More...
double | min_x_
double | max_x_
double | min_y_
double | max_y_
double | min_z_
double | max_z_
bool | bounding_box_defined_
| Flag indicating if octree has defined bounding box. More...
std::size_t | max_objs_per_leaf_
| Amount of DataT objects per leafNode before expanding branch. More...

## Detailed Description

### template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
class pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT >

Octree pointcloud point vector class

Note
  This pointcloud octree class generate an octrees from a point cloud (zero-copy). Every leaf node contains a list of point indices of the dataset given by setInputCloud.
  The octree pointcloud is initialized with its voxel resolution. Its bounding box is automatically adjusted or can be predefined.
  typename: PointT: type of point used in pointcloud

Author
  Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 63 of file octree_pointcloud_pointvector.h.

## Member Typedef Documentation

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>

typedef OctreePointCloudPointVector<PointT, LeafContainerT, BranchContainerT, OctreeBase<LeafContainerT, BranchContainerT> > pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT >::SingleBuffer

Definition at line 69 of file octree_pointcloud_pointvector.h.

## Constructor & Destructor Documentation

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>

pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT >::OctreePointCloudPointVector | ( | const double | resolution_arg | ) |

inline

Constructor.

Parameters

  resolution_arg | octree resolution at lowest octree level

Definition at line 76 of file octree_pointcloud_pointvector.h.

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>

virtual pcl::octree::OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeT >::~OctreePointCloudPointVector | ( |  | ) |

inline virtual

Empty class constructor.

Definition at line 82 of file octree_pointcloud_pointvector.h.

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

- /build/pcl-6_P28C/pcl-1.7.2/octree/include/pcl/octree/octree_pointcloud_pointvector.h