00001 #ifndef _ndescs2disk_h_ 00002 #define _ndescs2disk_h_ 00003 00004 #include "ros/this_node.h" 00005 #include "ros/names.h" 00006 #include "ros/node_handle.h" 00007 #include "ros/rate.h" 00008 00009 //#include "mutex.h" 00010 00011 #include "finddd_alg.h" 00012 #include <iri_perception_msgs/DescriptorSet.h> 00013 #include <iri_perception_msgs/Descriptor.h> 00014 #include <string> 00015 00016 class Ndescs2Disk 00017 { 00018 private: 00019 //CMutex execution_mutex; 00020 std::string prefix_out_; 00021 ros::NodeHandle node_handle_; 00022 int counter_; 00023 int use_fvec_; 00024 bool keep_nan_points_; 00025 //int max_frames_; 00026 void write_point(FILE *pf, const iri_perception_msgs::Descriptor &point); 00027 void write_point_fvec(FILE *pf, const iri_perception_msgs::Descriptor &point); 00028 00029 // [publisher attributes] 00030 // [subscriber attributes] 00031 ros::Subscriber points_subscriber_; 00032 void points_callback(const iri_perception_msgs::DescriptorSet::ConstPtr& descriptor_set); 00033 // [service attributes] 00034 // [client attributes] 00035 // [action server attributes] 00036 // [action client attributes] 00037 public: 00055 Ndescs2Disk(char *pref_out, int use_fvec);//, int max_frames); 00069 }; 00070 #endif 00071 00072 00073