1 #ifndef bwm_tableau_rat_cam_h_
2 #define bwm_tableau_rat_cam_h_
3 
4 #include "bwm_tableau_cam.h"
5 #include "bwm_observer_rat_cam.h"
6 
7 #include <vgui/vgui_wrapper_tableau.h>
8 #include <vgui/vgui_menu.h>
9 #include <vgui/vgui_event.h>
10 #include <vgui/vgui_command.h>
11 
12 #include <bgui/bgui_picker_tableau.h>
13 
14 #include <vul/vul_timer.h>
15 
16 class bwm_tableau_rat_cam : public bwm_tableau_cam
17 {
18  protected:
19   bwm_observer_rat_cam* my_observer_;
20   vul_timer timer_;
21 
22  public:
23 
bwm_tableau_rat_cam(bwm_observer_rat_cam * observer)24   bwm_tableau_rat_cam(bwm_observer_rat_cam* observer)
25     : bwm_tableau_cam(observer), my_observer_(observer) {timer_.mark();}
26 
set_observer(bwm_observer_rat_cam * observer)27   void set_observer(bwm_observer_rat_cam* observer) { my_observer_ = observer; }
28 
~bwm_tableau_rat_cam()29   virtual ~bwm_tableau_rat_cam() {}
30 
type_name()31   virtual std::string type_name() const { return "bwm_tableau_rat_cam"; }
32 
33   bool handle(const vgui_event &);
34 
35   void get_popup(vgui_popup_params const &params, vgui_menu &menu);
36 
37   void adjust_camera_offset();
38   void adjust_camera_to_world_pt();
39   void center_pos();
40 
41   // saves the camera with a new version number and returns the path
42   std::string save_camera();
save_adj_camera()43   void save_adj_camera() { save_camera();}
44   // ******************** LVCS Menu
45 
46   void load_lvcs();
47   void save_lvcs();
48   void define_lvcs();
49   void convert_file_to_lvcs();
50 
51   // ********************* Save Menu
52   void save();
53 
54   // ****************** Misc
55   void project_edges_from_master();
56   void register_search_to_master();
57 };
58 
59 #endif
60