jump_edge_filter.cpp
Go to the documentation of this file.
00001 
00060 //##################
00061 //#### includes ####
00062 // standard includes
00063 //--
00064 // ROS includes
00065 #include <ros/ros.h>
00066 #include <pluginlib/class_list_macros.h>
00067 #include <nodelet/nodelet.h>
00068 #include <pcl_ros/point_cloud.h>
00069 
00070 // pcl includes
00071 #include <pcl/point_types.h>
00072 
00073 // cob_3d_mapping_filters includes
00074 //#include <cob_3d_mapping_common/point_types.h>
00075 #include <cob_3d_mapping_filters/jump_edge_filter.h>
00076 #include <cob_3d_mapping_filters/impl/jump_edge_filter.hpp>
00077 
00078 //######################
00079 //#### nodelet class####
00080 class JumpEdgeFilter : public nodelet::Nodelet
00081 {
00082 public:
00083   typedef pcl::PointXYZI PointT;
00084   typedef pcl::PointCloud<PointT> PointCloud;
00085 
00086   // Constructor
00087   JumpEdgeFilter ()
00088   {
00089   }
00090 
00091   // Destructor
00092   ~ JumpEdgeFilter ()
00093   {
00095   }
00096 
00097   void
00098   onInit ()
00099   {
00100     n_ = getPrivateNodeHandle ();
00101 
00102     point_cloud_sub_ = n_.subscribe ("point_cloud_in", 1, &JumpEdgeFilter::pointCloudSubCallback, this);
00103     point_cloud_pub_ = n_.advertise<PointCloud> ("point_cloud_out", 1);
00104 
00105     double angle;
00106     n_.param ("upper_angle_deg", angle, 170.0);
00107     filter_.setAngleThreshold (angle);
00108   }
00109 
00110   void
00111   pointCloudSubCallback (pcl::PointCloud<pcl::PointXYZI>::ConstPtr pc)
00112   {
00113     PointCloud cloud_filtered;
00114 
00115     filter_.setInputCloud (pc);
00116     filter_.filter (cloud_filtered);
00117     point_cloud_pub_.publish (cloud_filtered);
00118   }
00119 
00120 protected:
00121   ros::NodeHandle n_;
00122   ros::Subscriber point_cloud_sub_;
00123   ros::Publisher point_cloud_pub_;
00124 
00125   cob_3d_mapping_filters::JumpEdgeFilter<PointT> filter_;
00126 };
00127 
00128 PLUGINLIB_DECLARE_CLASS(cob_3d_mapping_filters, JumpEdgeFilter, JumpEdgeFilter, nodelet::Nodelet)
00129 


cob_3d_mapping_filters
Author(s): Georg Arbeiter
autogenerated on Wed Aug 26 2015 11:02:54