00001 #include "ros/ros.h" 00002 #include <ndt_map/ndt_conversions.h> 00003 #include <ndt_map/ndt_map.h> 00004 #include <ndt_map/ndt_map.h> 00005 #include <ndt_map/lazy_grid.h> 00006 #include <ndt_map/pointcloud_utils.h> 00007 00008 #include <ndt_map/NDTCellMsg.h> 00009 #include <ndt_map/NDTMapMsg.h> 00010 00011 #include "pcl/point_cloud.h" 00012 #include "pcl/io/pcd_io.h" 00013 #include "pcl/features/feature.h" 00014 #include <cstdio> 00015 #include <cstring> 00016 #include <string> 00017 00018 00019 void mapCallback(const ndt_map::NDTMapMsg::ConstPtr& msg) 00020 { 00021 lslgeneric::NDTMap *nd; 00022 lslgeneric::LazyGrid *idx; 00023 std::string f; 00024 lslgeneric::fromMessage(idx,nd,*msg,f); 00025 ros::shutdown(); 00026 if (nd->writeToJFF("transported.jff") < 0) 00027 ROS_INFO("writing to jff failed\n"); 00028 else 00029 ROS_INFO("SUCCESS!!!\n"); 00030 00031 } 00032 00033 int main(int argc, char** argv){ 00034 ros::init(argc,argv,"map_topic_1"); 00035 ros::NodeHandle nh; 00036 ros::Subscriber map_sub = nh.subscribe("dummy_map_pub", 1000, mapCallback); 00037 // while(ros::ok()){ 00038 00039 ros::spin(); 00040 // } 00041 return 0; 00042 }