00001 // Copyright (C) 2002 Martin Larochelle et Mathieu Lemay 00002 00003 00004 #ifndef LASERPROBE_H 00005 #define LASERPROBE_H 00006 00007 #include "Probe.h" 00008 #include "MapDef.h" 00009 00010 namespace RobotFlow { 00011 00012 class LaserProbe : public FD::Probe 00013 { 00014 protected: 00015 GnomeCanvas* m_pCanvas; 00016 GnomeCanvasGroup* m_pGroup; 00017 GnomeCanvasItem* m_ppLine[MAX_LASER_RAY]; 00018 GtkWidget* m_button1; 00019 GtkWidget* m_button2; 00020 double m_fZoomFactor; 00021 00022 double m_xmin, m_xmax, m_ymin, m_ymax; 00023 00024 public: 00025 00026 LaserProbe(std::string nodeName, FD::ParameterSet params); 00027 00028 virtual ~LaserProbe(); 00029 00030 /**Class specific initialization routine. 00031 Each class will call its subclass specificInitialize() method*/ 00032 virtual void initialize(); 00033 00034 /**Class reset routine. 00035 Each class will call its superclass reset() method*/ 00036 virtual void reset(); 00037 00038 /**Ask for the node's output which ID (number) is output_id 00039 and for the 'count' iteration */ 00040 //virtual ObjectRef getOutput(int output_id, int count); 00041 00042 virtual void display(); 00043 00044 virtual void show_hide(); 00045 00046 void ChangeZoom(bool bZoomIn); 00047 00048 private: 00049 void ResetView(); 00050 00051 }; 00052 00053 }//namespace RobotFlow 00054 #endif