|
| using | SingleBuffer = OctreePointCloudPointVector< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT, BranchContainerT > > |
| |
| using | Base = OctreeT |
| |
| using | LeafNode = typename OctreeT::LeafNode |
| |
| using | BranchNode = typename OctreeT::BranchNode |
| |
| using | IndicesPtr = shared_ptr< std::vector< int > > |
| |
| using | IndicesConstPtr = shared_ptr< const std::vector< int > > |
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| |
| using | PointCloudPtr = typename PointCloud::Ptr |
| |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| |
| using | SingleBuffer = OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT > > |
| |
| using | Ptr = shared_ptr< OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > |
| |
| using | ConstPtr = shared_ptr< const OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > |
| |
| using | AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > > |
| |
| using | AlignedPointXYZVector = std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > > |
| |
|
| | OctreePointCloudPointVector (const double resolution_arg) |
| | Constructor. More...
|
| |
| | ~OctreePointCloudPointVector () |
| | Empty class constructor. More...
|
| |
| | OctreePointCloud (const double resolution_arg) |
| | Octree pointcloud constructor. 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 (const OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const |
| | Generate bounds of the current voxel of an octree iterator. More...
|
| |
| void | enableDynamicDepth (std::size_t maxObjsPerLeaf) |
| | Enable dynamic octree structure. More...
|
| |
|
| 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...
|
| |
| 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...
|
| |
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.
- Template Parameters
-
| PointT | type of point used in pointcloud |
- Author
- Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)
Definition at line 62 of file octree_pointcloud_pointvector.h.