23 #ifndef __TOOLS_LASERGUI_LASER_DRAWING_AREA_H_ 24 #define __TOOLS_LASERGUI_LASER_DRAWING_AREA_H_ 28 #include <interfaces/Position2DTrackInterface.h> 29 #include <interfaces/SwitchInterface.h> 32 class Laser360Interface;
33 class Laser720Interface;
34 class Laser1080Interface;
35 class ObjectPositionInterface;
36 class CairoRobotDrawer;
37 class LegtrackerTrackinterface;
38 class SwitchInterface;
39 class VisualDisplay2DInterface;
45 :
public Gtk::DrawingArea
57 const Glib::RefPtr<Gtk::Builder> &builder);
60 void set_laser_ifs(
const std::list<fawkes::Interface*>& laser_if);
61 void reset_laser_ifs();
62 void set_objpos_if(std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_persons,
63 std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_legs,
64 std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_misc,
66 std::list<fawkes::Position2DTrackInterface*>* l_track_if,
72 void set_resolution(
unsigned int resolution);
77 void set_rotation(
float rot_rad);
78 void set_draw_mode(draw_mode_t mode);
79 void set_connected(
bool connected);
81 void toggle_break_drawing();
84 #if GTK_VERSION_GE(3,0) 85 virtual bool on_draw(
const Cairo::RefPtr<Cairo::Context> &cr);
87 virtual bool on_expose_event(GdkEventExpose *event);
89 virtual bool on_scroll_event(GdkEventScroll *event);
90 virtual bool on_motion_notify_event(GdkEventMotion *event);
91 virtual bool on_button_press_event(GdkEventButton *event);
94 Glib::RefPtr<Gdk::Window> &window,
95 const Cairo::RefPtr<Cairo::Context> &cr);
97 Glib::RefPtr<Gdk::Window> &window,
98 const Cairo::RefPtr<Cairo::Context> &cr);
99 void draw_scalebox(Glib::RefPtr<Gdk::Window> &window,
100 const Cairo::RefPtr<Cairo::Context> &cr);
101 void draw_persons_legs(Glib::RefPtr<Gdk::Window> &window,
102 const Cairo::RefPtr<Cairo::Context> &cr);
103 std::pair<float,float> transform_coords_from_fawkes(
float p_x,
float p_y);
114 typedef std::pair<fawkes::Interface*, Color> InterfaceColorPair;
115 typedef std::list<InterfaceColorPair> InterfaceColorPairList;
117 bool all_laser_ifs_have_writer()
const;
119 InterfaceColorPairList __laser_ifs;
126 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_persons;
127 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_legs;
128 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_misc;
129 std::list<fawkes::Position2DTrackInterface*>* __l_track_if;
132 draw_mode_t __draw_mode;
135 unsigned int __resolution;
137 bool __break_drawing;
139 double __last_mouse_x;
140 double __last_mouse_y;
Only draw beam end points.
ObjectPositionInterface Fawkes BlackBoard Interface.
2D visualization processor for VisualDisplay2DInterface.
Fawkes library namespace.
Base class for all Fawkes BlackBoard interfaces.
SwitchInterface Fawkes BlackBoard Interface.
VisualDisplay2DInterface Fawkes BlackBoard Interface.
Laser720Interface Fawkes BlackBoard Interface.