00001 00033 #ifndef __OBJECT_DETECTOR_CLASS__ 00034 #define __OBJECT_DETECTOR_CLASS__ 00035 00036 #include "ros/ros.h" 00037 #include <string> 00038 #include <vector> 00039 #include "ObjectDetectorProvider.h" 00040 00041 class ObjectDetectorClass 00042 { 00043 public: 00044 00045 ObjectDetectorClass(); 00046 virtual ~ObjectDetectorClass(); 00047 00053 void runObjectDetectorNode(int argc, char *argv[]); 00054 00060 void runObjectDetectorDummyNode(int argc, char *argv[], 00061 const std::vector<std::string> &local_paths); 00062 00063 protected: 00064 00068 void parseArgs(int argc, char *argv[]); 00069 00073 void initiateNode(); 00074 00078 void spinNode(); 00079 00084 void createDebugDir(std::string &debug_dir) const; 00085 00089 void loadLocalModel(ObjectDetectorProvider &provider); 00090 00091 protected: 00092 00093 struct tArguments 00094 { 00095 //std::string topic_name; 00096 //std::string color_model; 00097 std::string camera_model; 00098 bool debug_mode; 00099 bool visualization_mode; 00100 }; 00101 00102 tArguments m_arguments; 00103 std::string m_node_name; 00104 ros::NodeHandle *m_node_handle; 00105 ObjectDetectorProvider *m_provider; 00106 00107 }; 00108 00109 #endif 00110 00111