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

Octree pointcloud voxel centroid class More...

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

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

## Public Types

typedef boost::shared_ptr< OctreePointCloudVoxelCentroid< PointT, LeafContainerT > > | Ptr
typedef boost::shared_ptr< const OctreePointCloudVoxelCentroid< PointT, LeafContainerT > > | ConstPtr
typedef OctreePointCloud< PointT, LeafContainerT, BranchContainerT > | OctreeT
typedef OctreeT::LeafNode | LeafNode
typedef OctreeT::BranchNode | BranchNode
Public Types inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >
typedef OctreeBase< LeafContainerT, BranchContainerT > | Base
typedef OctreeBase< LeafContainerT, BranchContainerT > ::LeafNode | LeafNode
typedef OctreeBase< LeafContainerT, BranchContainerT > ::BranchNode | BranchNode
typedef OctreeDepthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | Iterator
typedef const OctreeDepthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | ConstIterator
typedef OctreeLeafNodeIterator< OctreeBase< LeafContainerT, BranchContainerT > > | LeafNodeIterator
typedef const OctreeLeafNodeIterator< OctreeBase< LeafContainerT, BranchContainerT > > | ConstLeafNodeIterator
typedef OctreeDepthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | DepthFirstIterator
typedef const OctreeDepthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | ConstDepthFirstIterator
typedef OctreeBreadthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | BreadthFirstIterator
typedef const OctreeBreadthFirstIterator< OctreeBase< LeafContainerT, BranchContainerT > > | 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, OctreeBase< LeafContainerT, BranchContainerT > > > | Ptr
typedef boost::shared_ptr< const OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT, BranchContainerT > > > | ConstPtr
typedef std::vector< PointT, Eigen::aligned_allocator< PointT > > | AlignedPointTVector
typedef std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > > | AlignedPointXYZVector
Public Types inherited from pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
typedef OctreeBase< LeafContainerT, BranchContainerT > | OctreeT
typedef OctreeBranchNode< BranchContainerT > | BranchNode
typedef OctreeLeafNode< LeafContainerT > | LeafNode
typedef BranchContainerT | BranchContainer
typedef LeafContainerT | LeafContainer
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

## Public Member Functions

| OctreePointCloudVoxelCentroid (const double resolution_arg)
| OctreePointCloudVoxelCentroids class constructor. More...
virtual | ~OctreePointCloudVoxelCentroid ()
| Empty class deconstructor. More...
virtual void | addPointIdx (const int pointIdx_arg)
| Add DataT object to leaf node at octree key. More...
bool | getVoxelCentroidAtPoint (const PointT &point_arg, PointT &voxel_centroid_arg) const
| Get centroid for a single voxel addressed by a PointT point. More...
bool | getVoxelCentroidAtPoint (const int &point_idx_arg, PointT &voxel_centroid_arg) const
| Get centroid for a single voxel addressed by a PointT point from input cloud. More...
size_t | getVoxelCentroids (typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector &voxel_centroid_list_arg) const
| Get PointT vector of centroids for all occupied voxels. More...
void | getVoxelCentroidsRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector &voxel_centroid_list_arg) const
| Recursively explore the octree and output a PointT vector of centroids for all occupied voxels. More...
Public Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >
| 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...
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...
void | deleteTree ()
| Delete the octree structure and its leaf nodes. 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 (const OctreeIteratorBase< OctreeBase< LeafContainerT, BranchContainerT > > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
| Generate bounds of the current voxel of an octree iterator. More...
void | enableDynamicDepth (size_t maxObjsPerLeaf)
| Enable dynamic octree structure. More...
Public Member Functions inherited from pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
Iterator | begin (unsigned int max_depth_arg=0)
const Iterator | end ()
LeafNodeIterator | leaf_begin (unsigned int max_depth_arg=0)
const LeafNodeIterator | leaf_end ()
DepthFirstIterator | depth_begin (unsigned int max_depth_arg=0)
const DepthFirstIterator | depth_end ()
BreadthFirstIterator | breadth_begin (unsigned int max_depth_arg=0)
const BreadthFirstIterator | breadth_end ()
| OctreeBase ()
| Empty constructor. More...
virtual | ~OctreeBase ()
| Empty deconstructor. More...
| OctreeBase (const OctreeBase &source)
| Copy constructor. More...
OctreeBase & | operator= (const OctreeBase &source)
| Copy operator. More...
void | setMaxVoxelIndex (unsigned int max_voxel_index_arg)
| Set the maximum amount of voxels per dimension. More...
void | setTreeDepth (unsigned int max_depth_arg)
| Set the maximum depth of the octree. More...
unsigned int | getTreeDepth () const
| Get the maximum depth of the octree. More...
LeafContainerT * | createLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)
| Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
LeafContainerT * | findLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)
| Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
bool | existLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) const
| idx_x_arg for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
void | removeLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)
| Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
std::size_t | getLeafCount () const
| Return the amount of existing leafs in the octree. More...
std::size_t | getBranchCount () const
| Return the amount of existing branch nodes in the octree. More...
void | deleteTree ()
| Delete the octree structure and its leaf nodes. More...
void | serializeTree (std::vector< char > &binary_tree_out_arg)
| Serialize octree into a binary output vector describing its branch node structure. More...
void | serializeTree (std::vector< char > &binary_tree_out_arg, std::vector< LeafContainerT *> &leaf_container_vector_arg)
| Serialize octree into a binary output vector describing its branch node structure and push all LeafContainerT elements stored in the octree to a vector. More...
void | serializeLeafs (std::vector< LeafContainerT *> &leaf_container_vector_arg)
| Outputs a vector of all LeafContainerT elements that are stored within the octree leaf nodes. More...
void | deserializeTree (std::vector< char > &binary_tree_input_arg)
| Deserialize a binary octree description vector and create a corresponding octree structure. More...
void | deserializeTree (std::vector< char > &binary_tree_input_arg, std::vector< LeafContainerT *> &leaf_container_vector_arg)
| Deserialize a binary octree description and create a corresponding octree structure. More...

## Additional Inherited Members

Protected Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >
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 Member Functions inherited from pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
LeafContainerT * | createLeaf (const OctreeKey &key_arg)
| Create a leaf node. More...
LeafContainerT * | findLeaf (const OctreeKey &key_arg) const
| Find leaf node. More...
bool | existLeaf (const OctreeKey &key_arg) const
| Check for existance of a leaf node in the octree. More...
void | removeLeaf (const OctreeKey &key_arg)
| Remove leaf node from octree. More...
OctreeNode * | getRootNode () const
| Retrieve root node. More...
bool | branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const
| Check if branch is pointing to a particular child node. More...
OctreeNode * | getBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const
| Retrieve a child node pointer for child node at child_idx. More...
void | setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg)
| Assign new child node to branch. More...
char | getBranchBitPattern (const BranchNode &branch_arg) const
| Generate bit pattern reflecting the existence of child node pointers. More...
void | deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
| Delete child node and all its subchilds from octree. More...
void | deleteBranch (BranchNode &branch_arg)
| Delete branch and all its subchilds from octree. More...
BranchNode * | createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
| Create and add a new branch child to a branch class. More...
LeafNode * | createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg)
| Create and add a new leaf child to a branch class. More...
unsigned int | createLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg)
| Create a leaf node at octree key. More...
void | findLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const
| Recursively search for a given leaf node and return a pointer. More...
bool | deleteLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg)
| Recursively search and delete leaf node. More...
void | serializeTreeRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT *> *leaf_container_vector_arg) const
| Recursively explore the octree and output binary octree description together with a vector of leaf node LeafContainerTs. More...

void

deserializeTreeRecursive (BranchNode *branch_arg, unsigned int depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_end_arg, typename std::vector< LeafContainerT *>::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT *>::const_iterator *leaf_container_vector_it_end_arg)

| Recursive method for deserializing octree structure. More...
virtual void | serializeTreeCallback (LeafContainerT &, const OctreeKey &) const
| Callback executed for every leaf node during serialization. More...
virtual void | deserializeTreeCallback (LeafContainerT &, const OctreeKey &)
| Callback executed for every leaf node during deserialization. More...
double | Log2 (double n_arg)
| Helper function to calculate the binary logarithm. More...
bool | octreeCanResize ()
| Test if octree is able to dynamically change its depth. More...
Protected Attributes inherited from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >
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...
Protected Attributes inherited from pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
std::size_t | leaf_count_
| Amount of leaf nodes. More...
std::size_t | branch_count_
| Amount of branch nodes. More...
BranchNode * | root_node_
| Pointer to root branch node of octree. More...
unsigned int | depth_mask_
| Depth mask based on octree depth. More...
unsigned int | octree_depth_
| Octree depth. More...
bool | dynamic_depth_enabled_
| Enable dynamic_depth. More...
OctreeKey | max_key_
| key range More...

## Detailed Description

### template<typename PointT, typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
class pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >

Octree pointcloud voxel centroid class

Note
  This class generate an octrees from a point cloud (zero-copy). It provides a vector of centroids for all occupied voxels.
  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 142 of file octree_pointcloud_voxelcentroid.h.

## Member Typedef Documentation

## BranchNode

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

typedef OctreeT::BranchNode pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::BranchNode

Definition at line 150 of file octree_pointcloud_voxelcentroid.h.

## ConstPtr

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

typedef boost::shared_ptr<const OctreePointCloudVoxelCentroid<PointT, LeafContainerT> > pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::ConstPtr

Definition at line 146 of file octree_pointcloud_voxelcentroid.h.

## LeafNode

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

typedef OctreeT::LeafNode pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::LeafNode

Definition at line 149 of file octree_pointcloud_voxelcentroid.h.

## OctreeT

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

typedef OctreePointCloud<PointT, LeafContainerT, BranchContainerT> pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::OctreeT

Definition at line 148 of file octree_pointcloud_voxelcentroid.h.

## Ptr

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

typedef boost::shared_ptr<OctreePointCloudVoxelCentroid<PointT, LeafContainerT> > pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::Ptr

Definition at line 145 of file octree_pointcloud_voxelcentroid.h.

## Constructor & Destructor Documentation

## OctreePointCloudVoxelCentroid()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

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

inline

OctreePointCloudVoxelCentroids class constructor.

Parameters

  [in] | resolution_arg | octree resolution at lowest octree level

Definition at line 155 of file octree_pointcloud_voxelcentroid.h.

## ~OctreePointCloudVoxelCentroid()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

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

inline virtual

Empty class deconstructor.

Definition at line 162 of file octree_pointcloud_voxelcentroid.h.

## Member Function Documentation

## addPointIdx()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

virtual void pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::addPointIdx | ( | const int | pointIdx_arg | ) |

inline virtual

Add DataT object to leaf node at octree key.

Parameters

  pointIdx_arg |

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >.

Definition at line 170 of file octree_pointcloud_voxelcentroid.h.

## getVoxelCentroidAtPoint() [1/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT >

bool pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidAtPoint | ( | const PointT & | point_arg,
|  | PointT & | voxel_centroid_arg
| ) |  | const

Get centroid for a single voxel addressed by a PointT point.

Parameters

  [in] | point_arg | point addressing a voxel in octree
  [out] | voxel_centroid_arg | centroid is written to this PointT reference

Returns
  "true" if voxel is found; "false" otherwise

Definition at line 54 of file octree_pointcloud_voxelcentroid.hpp.

## getVoxelCentroidAtPoint() [2/2]

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>

bool pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidAtPoint | ( | const int & | point_idx_arg,
|  | PointT & | voxel_centroid_arg
| ) |  | const

inline

Get centroid for a single voxel addressed by a PointT point from input cloud.

Parameters

  [in] | point_idx_arg | point index from input cloud addressing a voxel in octree
  [out] | voxel_centroid_arg | centroid is written to this PointT reference

Returns
  "true" if voxel is found; "false" otherwise

Definition at line 204 of file octree_pointcloud_voxelcentroid.h.

## getVoxelCentroids()

template<typename PointT , typename LeafContainerT , typename BranchContainerT >

size_t pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroids | ( | typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector & | voxel_centroid_list_arg | ) | const

Get PointT vector of centroids for all occupied voxels.

Parameters

  [out] | voxel_centroid_list_arg | results are written to this vector of PointT elements

Returns
  number of occupied voxels

Definition at line 72 of file octree_pointcloud_voxelcentroid.hpp.

## getVoxelCentroidsRecursive()

template<typename PointT , typename LeafContainerT , typename BranchContainerT >

void pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidsRecursive | ( | const BranchNode * | branch_arg,
|  | OctreeKey & | key_arg,
|  | typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector & | voxel_centroid_list_arg
| ) |  | const

Recursively explore the octree and output a PointT vector of centroids for all occupied voxels.

Parameters

  [in] | branch_arg | current branch node
  [in] | key_arg | current key
  [out] | voxel_centroid_list_arg | results are written to this vector of PointT elements

Definition at line 89 of file octree_pointcloud_voxelcentroid.hpp.

References pcl::octree::BRANCH_NODE, pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr(), pcl::octree::OctreeLeafNode< ContainerT >::getContainer(), pcl::octree::OctreeNode::getNodeType(), pcl::octree::OctreeBranchNode< ContainerT >::hasChild(), pcl::octree::LEAF_NODE, pcl::octree::OctreeKey::popBranch(), and pcl::octree::OctreeKey::pushBranch().

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

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/octree/include/pcl/octree/octree_pointcloud_voxelcentroid.h
- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/octree/include/pcl/octree/impl/octree_pointcloud_voxelcentroid.hpp