Klamp't  0.8.1
Public Types | Public Member Functions | Public Attributes | List of all members
GLNavigationBackend Class Reference

A backend that manages a camera and performs OpenGL scene management. More...

#include <NavigationGUI.h>

Inheritance diagram for GLNavigationBackend:
MouseDragBackend GenericBackendBase WorldGUIBackend ResourceGUIBackend RobotTestBackend SimGUIBackend RobotPoseBackend SimTestBackend

Public Types

typedef MouseDragBackend BaseT

Public Member Functions

virtual void SetWorldLights ()
virtual void RenderWorld ()
virtual void RenderScreen ()
virtual void Start ()
 Default implementation of following do nothing.
virtual bool OnIdle ()
virtual bool OnGLRender ()
virtual bool OnGLViewport (int x, int y, int w, int h)
virtual bool OnMouseWheel (int dwheel)
virtual bool OnCommand (const string &cmd, const string &args)
virtual void BeginDrag (int x, int y, int button, int modifiers)
virtual void DoFreeDrag (int dx, int dy, int button)
 Overload this for regular (non-modified) dragging.
virtual void DoCtrlDrag (int dx, int dy, int button)
 Overload this for control-dragging.
virtual void DoAltDrag (int dx, int dy, int button)
 Overload this for alt-dragging.
virtual void DoShiftDrag (int dx, int dy, int button)
 Overload this for shift-dragging.
void DragPan (int dx, int dy)
void DragRotate (int dx, int dy)
void DragZoom (int dx, int dy)
void DragTruck (int dx, int dy)
void Set2DMode (bool mode=true)
void DisplayCameraTarget ()
void CenterCameraOn (const Math3D::AABB3D &bbox)
void ClickRay (int x, int y, Math3D::Vector3 &src, Math3D::Vector3 &dir) const
void WriteDisplaySettings (std::ostream &out) const
void ReadDisplaySettings (std::istream &in)
- Public Member Functions inherited from MouseDragBackend
virtual bool OnMouseClick (int button, int state, int mx, int my)
virtual bool OnMouseMove (int mx, int my)
virtual bool OnKeyDown (const string &key)
virtual bool OnKeyUp (const string &key)
virtual void DoDrag (int dx, int dy, int button, int modifiers)
virtual void EndDrag (int x, int y, int button, int modifiers)
virtual void DoPassiveMouseMove (int x, int y)
 Overload this to handle plain, non-dragging mouse motion events.
- Public Member Functions inherited from GenericBackendBase
virtual void Stop ()
virtual bool ProcessMessage (const AnyCollection &msg)
virtual bool SendMessage (const AnyCollection &msg)
 Send a message to the gui.
void MapButtonPress (const string &button, int *var)
void MapButtonToggle (const string &button, int *var)
void MapWidgetValue (const string &button, string *var)
void MapKeyToggle (const string &key, int *var)
virtual bool OnButtonPress (const string &button)
virtual bool OnButtonToggle (const string &button, int checked)
virtual bool OnWidgetValue (const string &widget, const string &value)
virtual bool OnScroll (int dy)
virtual bool OnSpaceball (const Math3D::RigidTransform &T)
virtual bool OnDevice (const string &name, const string &data)
bool SendQuit ()
bool SendCommand (const string &cmd, const string &args)
bool SendNotify (const string &text, const string &msglevel="")
bool SendError (const string &text)
bool SendWarning (const string &text)
bool SendPauseIdle (double secs=1e300)
bool SendRefresh ()
bool SendResize (int w, int h)
bool SendDrawText (double x, double y, double z, const std::string &text, int height=10)
bool SendDrawText (int x, int y, const std::string &text, int height=10)

Public Attributes

Camera::Viewport viewport
Camera::CameraController_Orbit camera
bool stereo_mode
float stereo_offset
Timer timer
int show_view_target
float t_hide_view_target
float frames_per_second
bool show_frames_per_second
int frames_rendered
bool mode_2d
- Public Attributes inherited from MouseDragBackend
int oldmousex
int oldmousey
int clickButton
int clickModifiers
- Public Attributes inherited from GenericBackendBase
map< string, int * > liveButtonPresses
map< string, int * > liveButtonToggles
map< string, string * > liveWidgetValues
map< string, int * > liveKeys

Detailed Description

A backend that manages a camera and performs OpenGL scene management.

The World is rendered from the perspective of the mouse-controlled camera.

The Screen is rendered with pixel coordinates (0,0) in the upper left, with x axis pointing right and y axis pointing down.

The documentation for this class was generated from the following file: