40#ifndef PCL_SURFACE_RECONSTRUCTION_IMPL_H_
41#define PCL_SURFACE_RECONSTRUCTION_IMPL_H_
43#include <pcl/conversions.h>
44#include <pcl/search/kdtree.h>
45#include <pcl/search/organized.h>
51template <
typename Po
intInT>
void
55 output.header = input_->header;
60 output.cloud.data.clear ();
70 if (input_->isOrganized ())
77 tree_->setInputCloud (input_, indices_);
83 output.polygons.reserve (2*indices_->size ());
85 performReconstruction (
output);
91template <
typename Po
intInT>
void
93 std::vector<pcl::Vertices> &polygons)
96 points.header = input_->header;
100 points.width = points.height = 0;
111 if (input_->isOrganized ())
118 tree_->setInputCloud (input_, indices_);
123 polygons.reserve (2 * indices_->size ());
125 performReconstruction (points, polygons);
131template <
typename Po
intInT>
void
135 output.header = input_->header;
140 output.cloud.data.clear ();
150 if (input_->isOrganized ())
157 tree_->setInputCloud (input_, indices_);
165 performReconstruction (
output);
171template <
typename Po
intInT>
void
185 if (input_->isOrganized ())
192 tree_->setInputCloud (input_, indices_);
199 performReconstruction (polygons);
Iterator class for point clouds with or without given indices.
ConstCloudIterator(const PointCloud< PointT > &cloud)
void reconstruct(pcl::PolygonMesh &output) override
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
void reconstruct(pcl::PolygonMesh &output) override
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
search::KdTree is a wrapper class which inherits the pcl::KdTree class for performing search function...
OrganizedNeighbor is a class for optimized nearest neigbhor search in organized point clouds.
void toPCLPointCloud2(const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg)
Convert a pcl::PointCloud<T> object to a PCLPointCloud2 binary data blob.