Point Cloud Library (PCL) 1.12.0
|
Octree pointcloud density class More...
#include <pcl/octree/octree_pointcloud_density.h>
Public Member Functions | |
OctreePointCloudDensity (const double resolution_arg) | |
OctreePointCloudDensity class constructor. | |
~OctreePointCloudDensity () | |
Empty class deconstructor. | |
uindex_t | getVoxelDensityAtPoint (const PointT &point_arg) const |
Get the amount of points within a leaf node voxel which is addressed by a point. | |
![]() | |
OctreePointCloud (const double resolution_arg) | |
Octree pointcloud constructor. | |
void | setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr()) |
Provide a pointer to the input data set. | |
IndicesConstPtr const | getIndices () const |
Get a pointer to the vector of indices used. | |
PointCloudConstPtr | getInputCloud () const |
Get a pointer to the input point cloud dataset. | |
void | setEpsilon (double eps) |
Set the search epsilon precision (error bound) for nearest neighbors searches. | |
double | getEpsilon () const |
Get the search epsilon precision (error bound) for nearest neighbors searches. | |
void | setResolution (double resolution_arg) |
Set/change the octree voxel resolution. | |
double | getResolution () const |
Get octree voxel resolution. | |
uindex_t | getTreeDepth () const |
Get the maximum depth of the octree. | |
void | addPointsFromInputCloud () |
Add points from input point cloud to octree. | |
void | addPointFromCloud (uindex_t point_idx_arg, IndicesPtr indices_arg) |
Add point at given index from input point cloud to octree. | |
void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg) |
Add point simultaneously to octree and input point cloud. | |
void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg) |
Add point simultaneously to octree and input point cloud. | |
bool | isVoxelOccupiedAtPoint (const PointT &point_arg) const |
Check if voxel at given point exist. | |
void | deleteTree () |
Delete the octree structure and its leaf nodes. | |
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. | |
bool | isVoxelOccupiedAtPoint (const index_t &point_idx_arg) const |
Check if voxel at given point from input cloud exist. | |
uindex_t | getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const |
Get a PointT vector of centers of all occupied voxels. | |
uindex_t | 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. | |
void | deleteVoxelAtPoint (const PointT &point_arg) |
Delete leaf node / voxel at given point. | |
void | deleteVoxelAtPoint (const index_t &point_idx_arg) |
Delete leaf node / voxel at given point from input cloud. | |
void | defineBoundingBox () |
Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. | |
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. | |
void | defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg) |
Define bounding box for octree. | |
void | defineBoundingBox (const double cubeLen_arg) |
Define bounding box cube for octree. | |
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. | |
double | getVoxelSquaredDiameter (uindex_t tree_depth_arg) const |
Calculates the squared diameter of a voxel at given tree depth. | |
double | getVoxelSquaredDiameter () const |
Calculates the squared diameter of a voxel at leaf depth. | |
double | getVoxelSquaredSideLen (uindex_t tree_depth_arg) const |
Calculates the squared voxel cube side length at given tree depth. | |
double | getVoxelSquaredSideLen () const |
Calculates the squared voxel cube side length at leaf level. | |
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. | |
void | enableDynamicDepth (std::size_t maxObjsPerLeaf) |
Enable dynamic octree structure. | |
![]() | |
Iterator | begin (uindex_t max_depth_arg=0u) |
const Iterator | end () |
LeafNodeDepthFirstIterator | leaf_depth_begin (uindex_t max_depth_arg=0u) |
const LeafNodeDepthFirstIterator | leaf_depth_end () |
DepthFirstIterator | depth_begin (uindex_t max_depth_arg=0u) |
const DepthFirstIterator | depth_end () |
BreadthFirstIterator | breadth_begin (uindex_t max_depth_arg=0u) |
const BreadthFirstIterator | breadth_end () |
FixedDepthIterator | fixed_depth_begin (uindex_t fixed_depth_arg=0u) |
const FixedDepthIterator | fixed_depth_end () |
LeafNodeBreadthFirstIterator | leaf_breadth_begin (uindex_t max_depth_arg=0u) |
const LeafNodeBreadthFirstIterator | leaf_breadth_end () |
OctreeBase () | |
Empty constructor. | |
virtual | ~OctreeBase () |
Empty deconstructor. | |
OctreeBase (const OctreeBase &source) | |
Copy constructor. | |
OctreeBase & | operator= (const OctreeBase &source) |
Copy operator. | |
void | setMaxVoxelIndex (uindex_t max_voxel_index_arg) |
Set the maximum amount of voxels per dimension. | |
void | setTreeDepth (uindex_t max_depth_arg) |
Set the maximum depth of the octree. | |
uindex_t | getTreeDepth () const |
Get the maximum depth of the octree. | |
LeafContainerT * | createLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). | |
LeafContainerT * | findLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). | |
bool | existLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const |
idx_x_arg for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). | |
void | removeLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). | |
std::size_t | getLeafCount () const |
Return the amount of existing leafs in the octree. | |
std::size_t | getBranchCount () const |
Return the amount of existing branch nodes in the octree. | |
void | deleteTree () |
Delete the octree structure and its leaf nodes. | |
void | serializeTree (std::vector< char > &binary_tree_out_arg) |
Serialize octree into a binary output vector describing its branch node structure. | |
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. | |
void | serializeLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg) |
Outputs a vector of all LeafContainerT elements that are stored within the octree leaf nodes. | |
void | deserializeTree (std::vector< char > &binary_tree_input_arg) |
Deserialize a binary octree description vector and create a corresponding octree structure. | |
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. | |
Octree pointcloud density class
PointT | type of point used in pointcloud |
Definition at line 113 of file octree_pointcloud_density.h.
|
inline |
OctreePointCloudDensity class constructor.
resolution_arg | octree resolution at lowest octree level |
Definition at line 119 of file octree_pointcloud_density.h.
|
inline |
Empty class deconstructor.
Definition at line 125 of file octree_pointcloud_density.h.
|
inline |
Get the amount of points within a leaf node voxel which is addressed by a point.
[in] | point_arg | a point addressing a voxel |
Definition at line 133 of file octree_pointcloud_density.h.
References pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::findLeafAtPoint().