1 #ifndef INTERFACE_NAVIGATION_GUI_H 2 #define INTERFACE_NAVIGATION_GUI_H 4 #include "GenericGUI.h" 5 #include <KrisLibrary/math3d/geometry3d.h> 6 #include <KrisLibrary/camera/viewport.h> 7 #include <KrisLibrary/Timer.h> 20 virtual bool OnMouseClick(
int button,
int state,
int mx,
int my);
21 virtual bool OnMouseMove(
int mx,
int my);
22 virtual bool OnKeyDown(
const string& key);
23 virtual bool OnKeyUp(
const string& key);
25 virtual void BeginDrag(
int x,
int y,
int button,
int modifiers) {}
26 virtual void DoDrag(
int dx,
int dy,
int button,
int modifiers);
27 virtual void EndDrag(
int x,
int y,
int button,
int modifiers) {}
39 int oldmousex,oldmousey;
40 int clickButton, clickModifiers;
59 virtual void SetWorldLights() {}
60 virtual void RenderWorld() {}
61 virtual void RenderScreen() {}
64 virtual bool OnIdle();
65 virtual bool OnGLRender();
66 virtual bool OnGLViewport(
int x,
int y,
int w,
int h);
67 virtual bool OnMouseWheel(
int dwheel);
68 virtual bool OnCommand(
const string& cmd,
const string& args);
70 virtual void BeginDrag(
int x,
int y,
int button,
int modifiers);
71 virtual void DoFreeDrag(
int dx,
int dy,
int button);
72 virtual void DoCtrlDrag(
int dx,
int dy,
int button);
73 virtual void DoAltDrag(
int dx,
int dy,
int button);
76 void DragPan(
int dx,
int dy);
77 void DragRotate(
int dx,
int dy);
78 void DragZoom(
int dx,
int dy);
79 void DragTruck(
int dx,
int dy);
81 void Set2DMode(
bool mode=
true);
82 void DisplayCameraTarget();
83 void CenterCameraOn(
const Math3D::AABB3D& bbox);
84 void ClickRay(
int x,
int y,Math3D::Vector3& src,Math3D::Vector3& dir)
const;
86 void WriteDisplaySettings(std::ostream& out)
const;
87 void ReadDisplaySettings(std::istream& in);
89 Camera::Viewport viewport;
90 Camera::CameraController_Orbit camera;
94 int show_view_target;
float t_hide_view_target;
95 float frames_per_second;
bool show_frames_per_second;
102 #endif //INTERFACE_NAVIGATION_GUI_H virtual void Start()
Default implementation of following do nothing.
Definition: GenericGUI.h:92
A backend that processes mouse motion calls into dragging callbacks. Makes it a bit easier to determi...
Definition: NavigationGUI.h:15
virtual void DoCtrlDrag(int dx, int dy, int button)
Overload this for control-dragging.
Definition: NavigationGUI.h:31
virtual void DoAltDrag(int dx, int dy, int button)
Overload this for alt-dragging.
Definition: NavigationGUI.h:33
virtual void DoPassiveMouseMove(int x, int y)
Overload this to handle plain, non-dragging mouse motion events.
Definition: NavigationGUI.h:37
virtual void DoShiftDrag(int dx, int dy, int button)
Overload this for shift-dragging.
Definition: NavigationGUI.h:35
Definition: GenericGUI.h:86
virtual void DoFreeDrag(int dx, int dy, int button)
Overload this for regular (non-modified) dragging.
Definition: NavigationGUI.h:29
A backend that manages a camera and performs OpenGL scene management.
Definition: NavigationGUI.h:51
Definition: ContactDistance.h:6