Point Cloud Library (PCL)
1.10.1
|
42 #include <pcl/octree/boost.h>
43 #include <pcl/octree/octree_pointcloud.h>
44 #include <pcl/octree/octree_pointcloud_adjacency_container.h>
78 typename LeafContainerT = OctreePointCloudAdjacencyContainer<PointT>,
79 typename BranchContainerT = OctreeContainerEmpty>
102 adjacency_list<boost::setS, boost::setS, boost::undirectedS, PointT, float>;
103 using VoxelID =
typename VoxelAdjacencyList::vertex_descriptor;
104 using EdgeID =
typename VoxelAdjacencyList::edge_descriptor;
116 return (leaf_vector_.begin());
121 return (leaf_vector_.end());
123 inline LeafContainerT*
126 return leaf_vector_.at(idx);
133 return leaf_vector_.size();
177 transform_func_ = transform_func;
241 std::function<void(
PointT& p)> transform_func_;
250 #include <pcl/octree/impl/octree_pointcloud_adjacency.hpp>
This file defines compatibility wrappers for low level I/O functions.
void setTransformFunction(std::function< void(PointT &p)> transform_func)
Sets a point transform (and inverse) used to transform the space of the input cloud.
double resolution_
Octree resolution.
void computeNeighbors(OctreeKey &key_arg, LeafContainerT *leaf_container)
Fills in the neighbors fields for new voxels.
typename VoxelAdjacencyList::vertex_descriptor VoxelID
shared_ptr< OctreeAdjacencyT > Ptr
PointCloud represents the base class in PCL for storing collections of 3D points.
void addPointToCloud(const PointT &point_arg, PointCloudPtr cloud_arg)
Add point simultaneously to octree and input point cloud.
A point structure representing Euclidean xyz coordinates, and the RGB color.
typename VoxelAdjacencyList::edge_descriptor EdgeID
void addPointsFromInputCloud()
Adds points from cloud to the octree.
Abstract octree leaf class
typename LeafVectorT::iterator iterator
void genOctreeKeyforPoint(const PointT &point_arg, OctreeKey &key_arg) const
Generates octree key for specified point (uses transform if provided).
typename PointCloud::ConstPtr PointCloudConstPtr
typename PointCloud::Ptr PointCloudPtr
A point structure representing Euclidean xyz coordinates.
Abstract octree branch class
std::vector< LeafContainerT * > LeafVectorT
void addPointIdx(const int point_idx_arg) override
Add point at index from input pointcloud dataset to octree.
typename OctreeT::BranchNode BranchNode
Octree pointcloud voxel class which maintains adjacency information for its voxels.
LeafContainerT * at(std::size_t idx)
void addPointFromCloud(const int point_idx_arg, IndicesPtr indices_arg)
Add point at given index from input point cloud to octree.
OctreePointCloudAdjacency(const double resolution_arg)
Constructor.
shared_ptr< PointCloud< PointT > > Ptr
typename LeafVectorT::const_iterator const_iterator
shared_ptr< const PointCloud< PointT > > ConstPtr
LeafContainerT * getLeafContainerAtPoint(const PointT &point_arg) const
Gets the leaf container for a given point.
bool testForOcclusion(const PointT &point_arg, const PointXYZ &camera_pos=PointXYZ(0, 0, 0))
Tests whether input point is occluded from specified camera point by other voxels.
void computeVoxelAdjacencyGraph(VoxelAdjacencyList &voxel_adjacency_graph)
Computes an adjacency graph of voxel relations.
shared_ptr< const OctreeAdjacencyT > ConstPtr
PointCloudConstPtr input_
Pointer to input point cloud dataset.
boost::adjacency_list< boost::setS, boost::setS, boost::undirectedS, PointT, float > VoxelAdjacencyList
typename OctreeT::LeafNode LeafNode
boost::shared_ptr< T > shared_ptr
Alias for boost::shared_ptr.