00001 /* -*- mode: C++ -*- */ 00002 /* 00003 * Copyright (C) 2012 Austin Robot Technology 00004 * License: Modified BSD Software License Agreement 00005 * 00006 * $Id$ 00007 */ 00008 00018 #ifndef _VELODYNE_POINTCLOUD_COLORS_H_ 00019 #define _VELODYNE_POINTCLOUD_COLORS_H_ 00020 00021 #include <ros/ros.h> 00022 #include <pcl_ros/point_cloud.h> 00023 #include <pcl/point_types.h> 00024 #include <velodyne_pointcloud/point_types.h> 00025 00026 namespace velodyne_pointcloud 00027 { 00028 // shorter names for point cloud types in this namespace 00029 typedef velodyne_pointcloud::PointXYZIR VPoint; 00030 typedef pcl::PointCloud<VPoint> VPointCloud; 00031 00032 class RingColors 00033 { 00034 public: 00035 00036 RingColors(ros::NodeHandle node, ros::NodeHandle private_nh); 00037 ~RingColors() {} 00038 00039 private: 00040 00041 void convertPoints(const VPointCloud::ConstPtr &inMsg); 00042 00043 ros::Subscriber input_; 00044 ros::Publisher output_; 00045 }; 00046 00047 } // namespace velodyne_pointcloud 00048 00049 #endif // _VELODYNE_POINTCLOUD_COLORS_H_