KrisLibrary  1.0.0
GLUINavigationProgram.h
1 #ifndef GL_GLUI_NAVIGATION_PROGRAM_H
2 #define GL_GLUI_NAVIGATION_PROGRAM_H
3 
4 
5 #include <KrisLibrary/math3d/geometry3d.h>
6 #include <KrisLibrary/camera/viewport.h>
7 #include <KrisLibrary/Timer.h>
8 #include "GLUIProgram.h"
9 
15 {
16 public:
18  virtual bool Initialize();
19  virtual void Handle_Display();
20  virtual void Handle_Reshape(int w,int h);
21  virtual void Handle_Click(int button,int state,int x,int y);
22  virtual void Handle_Drag(int x,int y);
23  virtual void Handle_Keypress(unsigned char key,int x,int y);
24  virtual void Handle_Idle();
25 
26  //overrideable
27  virtual void SetWorldLights() {}
28  virtual void RenderWorld() {}
29  virtual void RenderScreen() {}
30 
31  virtual void BeginDrag(int x,int y,int button,int modifiers);
32  virtual void DoDrag(int dx,int dy,int button,int modifiers);
33  virtual void EndDrag(int x,int y,int button,int modifiers);
34  virtual void DoFreeDrag(int dx,int dy,int button);
35  virtual void DoCtrlDrag(int dx,int dy,int button);
36  virtual void DoAltDrag(int dx,int dy,int button);
37  virtual void DoShiftDrag(int dx,int dy,int button);
38 
39  void DragPan(int dx,int dy);
40  void DragRotate(int dx,int dy);
41  void DragZoom(int dx,int dy);
42  void DragTruck(int dx,int dy);
43 
44  void Set2DMode(bool mode=true);
45  void DisplayCameraTarget();
46  void CenterCameraOn(const Math3D::AABB3D& bbox);
47 
48  void WriteDisplaySettings(std::ostream& out) const;
49  void ReadDisplaySettings(std::istream& in);
50 
51  Camera::Viewport viewport;
53  int oldmousex,oldmousey;
54  int clickButton, clickModifiers;
55  bool stereo_mode;
56  float stereo_offset;
57  Timer timer;
58  int show_view_target; float t_hide_view_target;
59  double last_frame_time;
60  bool show_frames_per_second;
61  int frames_rendered;
62  bool mode_2d;
63 };
64 
65 #endif
virtual void Handle_Idle()
by default, turns off idle callbacks to save cpu
Definition: GLUINavigationProgram.cpp:456
A 3D axis-aligned bounding box.
Definition: AABB3D.h:13
virtual bool Initialize()
overrideable
Definition: GLUINavigationProgram.cpp:368
Definition: GLUIProgram.h:6
Definition: camera.h:85
A class containing viewport / camera information. This uses OpenGL coordinate convention in which x i...
Definition: viewport.h:11
A 3D navigation program based on GLUI.
Definition: GLUINavigationProgram.h:14
Definition: Timer.h:6