Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef TOOLS_H_
00010 #define TOOLS_H_
00011
00012 #include <pcl/point_types.h>
00013 #include <pcl/filters/passthrough.h>
00014
00015 template <typename PointT>
00016 void filterXYZ(pcl::PointCloud<PointT> &cloud, pcl::PointCloud<PointT> &cloud_filtered, double min_x,
00017 double max_x, double min_y, double max_y, double min_z, double max_z) {
00018
00019 pcl::PassThrough<PointT> pass;
00020
00021
00022 pass.setInputCloud(boost::make_shared<pcl::PointCloud<PointT> >(cloud));
00023 pass.setFilterFieldName("x");
00024 pass.setFilterLimits(min_x, max_x);
00025 pass.filter(cloud_filtered);
00026
00027
00028 pass.setInputCloud(boost::make_shared<pcl::PointCloud<PointT> >(cloud_filtered));
00029 pass.setFilterFieldName("y");
00030 pass.setFilterLimits(min_y, max_y);
00031 pass.filter(cloud_filtered);
00032
00033
00034 pass.setInputCloud(boost::make_shared<pcl::PointCloud<PointT> >(cloud_filtered));
00035 pass.setFilterFieldName("z");
00036 pass.setFilterLimits(min_z, max_z);
00037 pass.filter(cloud_filtered);
00038
00039 }
00040 #endif