FlyOperator
-
class
FlyOperator
: public HPS::Operator The FlyOperator class defines an operator which allows the user to accurately move the camera around the scene. This Operator works for both mouse- and touch-driven devices. Mouse-Driven Devices: W: Move camera position and target forward A: Pan camera left S: Move camera position and target forward D: Pan camera right C: Pan camera down Space: Pan camera up Q: Roll camera left E: Roll camera right Right-button down and move: Rotate camera in place Shift: Walk at double the speed while pressed Ctrl: Walk at half the speed while pressed Mouse Wheel: Increase / Decrease step length Shift + Mouse Wheel: Increase / Decrease field of view Touch-Driven Devices: touch -left side of screen: Pans camera in left or right, moves camera forward or back touch -right side of screen: Rotates camera in place Two-finger touch -right side of screen: Pans camera up or down, rolls camera left or right The movement speed increases as the user drags his fingers away from the initial touch position
Subclassed by HPS::WalkOperator
Public Functions
-
FlyOperator
(MouseButtons in_mouse_trigger = MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger = ModifierKeys())
-
inline float
GetJoystickDeadZone
() const
-
inline float
GetKeyboardSensitivity
() const
-
inline float
GetLeftJoystickSensitivity
() const
-
inline float
GetMouseSensitivity
() const
-
inline float
GetRightJoystickSensitivity
() const
-
inline float
GetSceneExtents
() const
-
inline void
InvertXAxis
()
-
inline void
InvertYAxis
()
-
inline bool
IsXAxisInverted
() const
-
inline bool
IsYAxisInverted
() const
-
virtual bool
OnKeyDown
(KeyboardState const &in_state) This function is called whenever HPS receives a KeyboardState event that signals a button was pressed. This function instructs the operator on which direction to move towards.
Parameters: in_state – A KeyboardState object describing the current keyboard state. W: Move camera position and target forward A: Pan camera left S: Move camera position and target forward D: Pan camera right C: Pan camera down Space: Pan camera up Q: Roll camera left E: Roll camera right Shift: Walk at double the speed while pressed Ctrl: Walk at half the speed while pressed Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnKeyUp
(KeyboardState const &in_state) This function is called whenever HPS receives a KeyboardState event that signals a button was released.
Parameters: in_state – A KeyboardState object describing the current keyboard state. Returns: true if the input event was handled, false otherwise.
-
virtual void
OnModelAttached
() This function is called whenever a model is attached to the view that is attached to this operator. If no view is attached to this operator, this function will not be called.
-
virtual bool
OnMouseDown
(MouseState const &in_state) This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. This function starts the operator and computes the position of the starting point.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnMouseMove
(MouseState const &in_state) This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function rotates the camera in place if the right mouse button is down.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnMouseUp
(MouseState const &in_state) This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnMouseWheel
(MouseState const &in_state) This function is called whenever HPS receives a MouseEvent that signals the mouse wheel moved If shift is not pressed this function increases or decreases the step length. If shift is pressed this function increases or decreases the camera field of view.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTimerTick
(HPS::TimerTickEvent const &in_event) This function is called whenever HPS receives a TimerTickEvent This function moves the camera
Parameters: in_event – A TimerTickEvent object describing the current timer tick. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchDown
(TouchState const &in_state) This function is called whenever HPS receives a TouchEvent that signals the device was touched. This function starts the operator and computes the position of the starting point.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchMove
(TouchState const &in_state) This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. This function rotates the camera in place.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchUp
(TouchState const &in_state) This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
virtual void
OnViewAttached
(HPS::View const &in_attached_view) This function is called whenever a view is attached to this operator.
-
virtual void
OnViewDetached
(HPS::View const &in_detached_view) This function is called whenever a view is detached from this operator.
-
inline void
SetJoystickDeadZone
(float in_dead_zone)
-
inline void
SetKeyboardSensitivity
(float in_keyboard_sensitivity)
-
inline void
SetLeftJoystickSensitivity
(float in_left_joystick_sensitivity)
-
inline void
SetMouseSensitivity
(float in_mouse_sensitivity)
-
inline void
SetRightJoystickSensitivity
(float in_right_joystick_sensitivity)
-