41 #include <pcl/octree/octree2buf_base.h>
42 #include <pcl/octree/octree_pointcloud.h>
43 #include <pcl/memory.h>
60 typename LeafContainerT = OctreeContainerPointIndices,
61 typename BranchContainerT = OctreeContainerEmpty>
67 Octree2BufBase<LeafContainerT, BranchContainerT>>
72 using Ptr = shared_ptr<
95 const int minPointsPerLeaf_arg = 0)
98 std::vector<OctreeContainerPointIndices*> leaf_containers;
101 for (
const auto& leaf_container : leaf_containers) {
102 if (static_cast<int>(leaf_container->getSize()) >= minPointsPerLeaf_arg)
103 leaf_container->getPointIndices(indicesVector_arg);
106 return (indicesVector_arg.size());
112 #define PCL_INSTANTIATE_OctreePointCloudChangeDetector(T) \
113 template class PCL_EXPORTS pcl::octree::OctreePointCloudChangeDetector<T>;
Octree pointcloud change detector class
shared_ptr< const OctreePointCloud< PointInT, LeafContainerT, BranchContainerT, Octree2BufBase< LeafContainerT, BranchContainerT > >> ConstPtr
void serializeNewLeafs(std::vector< LeafContainerT * > &leaf_container_vector_arg)
Outputs a vector of all DataT elements from leaf nodes, that do not exist in the previous octree buff...
std::size_t getPointIndicesFromNewVoxels(std::vector< int > &indicesVector_arg, const int minPointsPerLeaf_arg=0)
Get a indices from all leaf nodes that did not exist in previous buffer.
Octree double buffer class
shared_ptr< OctreePointCloudChangeDetector< PointT, LeafContainerT, BranchContainerT >> Ptr
A point structure representing Euclidean xyz coordinates, and the RGB color.
OctreePointCloudChangeDetector(const double resolution_arg)
Constructor.