5 changed files with 61 additions and 23 deletions
@ -0,0 +1,48 @@ |
|||
#include <ros/ros.h> |
|||
#include <pcl_ros/point_cloud.h> |
|||
#include <pcl/point_types.h> |
|||
|
|||
#include <iostream> |
|||
#include <string> |
|||
#include <sstream> |
|||
|
|||
typedef pcl::PointCloud<pcl::PointXYZRGB> PointCloud; |
|||
|
|||
class Callback { |
|||
public: |
|||
void |
|||
operator()(const PointCloud::ConstPtr& msg) |
|||
{ |
|||
std::ostringstream stream; |
|||
stream << "PointCloud published :" << std::endl; |
|||
for(int i = 0; i < msg->points.size(); ++i) |
|||
{ |
|||
pcl::PointXYZRGB p = msg->points[i]; |
|||
stream << std::endl |
|||
<< "point # " << i << std::endl |
|||
<< "x : " << p.x << std::endl |
|||
<< "y : " << p.y << std::endl |
|||
<< "z : " << p.z << std::endl |
|||
<< "r : " << (int) p.r << std::endl |
|||
<< "g : " << (int) p.g << std::endl |
|||
<< "b : " << (int) p.b << std::endl; |
|||
} |
|||
ROS_INFO("%s", stream.str().c_str()); |
|||
} |
|||
}; |
|||
|
|||
int |
|||
main(int argc, char** argv) |
|||
{ |
|||
ros::init(argc, argv, "pcl_displayer"); |
|||
ros::NodeHandle node("pcl_displayer"); |
|||
|
|||
// initialisation
|
|||
ros::Subscriber subscriber = node.subscribe<PointCloud>("input", 1, Callback()); |
|||
|
|||
// démarrage
|
|||
ROS_INFO("node started"); |
|||
ros::spin(); |
|||
ROS_INFO("exit"); |
|||
return 0; |
|||
} |
|||
Loading…
Reference in new issue