template <typename PointT> void pcl::SupervoxelClustering<PointT>::makeSupervoxels (std::map<uint32_t,typename Supervoxel<PointT>::Ptr > &supervoxel_clusters) { supervoxel_clusters.clear (); for (typename HelperListT::iterator sv_itr = supervoxel_helpers_.begin (); sv_itr != supervoxel_helpers_.end (); ++sv_itr) { uint32_t label = sv_itr->getLabel (); supervoxel_clusters[label].reset (new Supervoxel<PointT>); sv_itr->getXYZ (supervoxel_clusters[label]->centroid_.x,supervoxel_clusters[label]->centroid_.y,supervoxel_clusters[label]->centroid_.z); sv_itr->getRGB (supervoxel_clusters[label]->centroid_.rgba); sv_itr->getNormal (supervoxel_clusters[label]->normal_); sv_itr->getVoxels (supervoxel_clusters[label]->voxels_); sv_itr->getNormals (supervoxel_clusters[label]->normals_); } }
template <typename PointT> void pcl::SupervoxelClustering<PointT>::makeSupervoxels (std::map<uint32_t,typename Supervoxel<PointT>::Ptr > &supervoxel_clusters) { supervoxel_clusters.clear (); for (typename HelperListT::iterator sv_itr = supervoxel_helpers_.begin (); sv_itr != supervoxel_helpers_.end (); ++sv_itr) { uint32_t label = sv_itr->getLabel (); supervoxel_clusters[label] = boost::make_shared<Supervoxel<PointT> > (); sv_itr->getXYZ (supervoxel_clusters[label]->centroid_.x,supervoxel_clusters[label]->centroid_.y,supervoxel_clusters[label]->centroid_.z); sv_itr->getRGB (supervoxel_clusters[label]->centroid_.rgba); sv_itr->getNormal (supervoxel_clusters[label]->normal_); sv_itr->getVoxels (supervoxel_clusters[label]->voxels_); sv_itr->getNormals (supervoxel_clusters[label]->normals_); } //Make sure that color vector is big enough initializeLabelColors (); }