Go to the documentation of this file.00001 #ifndef RAIL_SEGMENTATION_BOUNDING_VOLUME_CALCULATOR_H
00002 #define RAIL_SEGMENTATION_BOUNDING_VOLUME_CALCULATOR_H
00003
00004
00005 #include <rail_manipulation_msgs/BoundingVolume.h>
00006 #include <pcl_ros/point_cloud.h>
00007 #include <sensor_msgs/PointCloud2.h>
00008
00009
00010 #include <pcl/common/common.h>
00011 #include <pcl/common/transforms.h>
00012 #include <pcl/filters/project_inliers.h>
00013 #include <pcl/point_cloud.h>
00014 #include <pcl/point_types.h>
00015
00019 class BoundingVolumeCalculator
00020 {
00021
00022 public:
00023
00029 static rail_manipulation_msgs::BoundingVolume computeBoundingVolume(sensor_msgs::PointCloud2 cloud);
00030
00036 static rail_manipulation_msgs::BoundingVolume computeBoundingVolume(pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud);
00037
00043 static rail_manipulation_msgs::BoundingVolume computeBoundingVolume(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud);
00044 };
00045
00046 #endif // RAIL_SEGMENTATION_BOUNDING_VOLUME_CALCULATOR_H