#include <sprk_ops.h>

Public Member Functions | |
bool | GetEnableMiddleMouseButtonDolly () const |
virtual HPS::UTF8 | GetName () const |
bool | IsMouseTriggered (MouseState const &in_state) |
virtual bool | OnKeyDown (KeyboardState const &in_state) |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual void | OnModelAttached () |
virtual bool | OnMouseDown (MouseState const &in_state) |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual bool | OnMouseMove (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
virtual bool | OnTouchDown (TouchState const &in_state) |
virtual bool | OnTouchMove (TouchState const &in_state) |
virtual bool | OnTouchUp (TouchState const &in_state) |
virtual void | OnViewAttached (HPS::View const &in_attached_view) |
void | SetEnableMiddleMouseButtonDolly (bool in_enable) |
void | SetKeyboardControlKey (bool in_state) |
void | SetKeyboardShiftKey (bool in_state) |
SimpleWalkOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
![]() | |
HPS::Plane | GetGroundPlane () const |
Axis | GetPrimaryUpAxis () const |
float | GetWalkerHeight () const |
void | SetGroundPlane (HPS::Plane const &in_plane) |
void | SetWalkerHeight (float height) |
Axis | UpdatePrimaryUpAxis (HPS::Vector const &v) |
WalkOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
![]() | |
FlyOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
float | GetJoystickDeadZone () const |
float | GetKeyboardSensitivity () const |
float | GetLeftJoystickSensitivity () const |
float | GetMouseSensitivity () const |
float | GetRightJoystickSensitivity () const |
float | GetSceneExtents () const |
void | InvertXAxis () |
void | InvertYAxis () |
bool | IsXAxisInverted () const |
bool | IsYAxisInverted () const |
virtual void | OnViewDetached (HPS::View const &in_detached_view) |
void | SetJoystickDeadZone (float in_dead_zone) |
void | SetKeyboardSensitivity (float in_keyboard_sensitivity) |
void | SetLeftJoystickSensitivity (float in_left_joystick_sensitivity) |
void | SetMouseSensitivity (float in_mouse_sensitivity) |
void | SetRightJoystickSensitivity (float in_right_joystick_sensitivity) |
![]() | |
virtual void | Assign (Operator const &in_that) |
void | DetachView () |
virtual bool | Equals (Operator const &in_that) const |
View | GetAttachedView () const |
ModifierKeys | GetModifierTrigger () const |
MouseButtons | GetMouseTrigger () const |
HPS::Type | ObjectType () const |
virtual void | OnModelDetached () |
virtual bool | OnTextInput (HPS::UTF8 const &in_text) |
Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
Operator (Operator const &in_that) | |
virtual bool | operator!= (Operator const &in_that) const |
virtual Operator & | operator= (Operator const &in_that) |
virtual bool | operator== (Operator const &in_that) const |
void | SetModifierTrigger (ModifierKeys in_modifiers) |
void | SetMouseTrigger (MouseButtons in_buttons) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
enum | Axis { X, Y, Z, Negative_X, Negative_Y, Negative_Z } |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
static Axis | GetPrimaryAxis (HPS::Vector const &v) |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
static const HPS::Type | staticType = HPS::Type::Operator |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
![]() | |
enum | MovementFlags { no_movement = 0x0000, moving_forward = 0x0001, moving_back = 0x0002, moving_left = 0x0004, moving_right = 0x0008, moving_up = 0x0010, moving_down = 0x0020, roll_left = 0x0040, roll_right = 0x0080, rotating = 0x0100, move_with_touch = 0x0200, rotate_with_touch = 0x0400 } |
![]() | |
void | MoveBack (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction) |
void | MoveDown (HPS::Point &position, HPS::Point &target, HPS::Vector &up) |
void | MoveForward (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction) |
void | MoveLeft (HPS::Point &position, HPS::Point &target, HPS::Vector &up) |
void | MoveRight (HPS::Point &position, HPS::Point &target, HPS::Vector &up) |
void | MoveUp (HPS::Point &position, HPS::Point &target, HPS::Vector &up) |
bool | MoveWithTouch (HPS::Point &position, HPS::Point &target, HPS::Vector &up, HPS::Vector const &walking_direction) |
void | RotateCommon (HPS::Point const &delta, HPS::Point &position, HPS::Point &target) |
bool | RotateScene (HPS::Point &position, HPS::Point &target) |
bool | RotateWithTouch (HPS::Point &position, HPS::Point &target) |
![]() | |
unsigned int | movement_flags |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
The SimpleWalkOperator class defines an operator which allows the user to move forward and backwards and rotate while staying snapped to a plane.
Mouse Operation:
Left-button down and move: | Dollies the camera forward or backward, or Pans the camera left or right based on the mouse movement direction. The movement velocity changes based on how far the mouse is dragged from the starting point. |
Middle-button down and move: | Dollies the camera vertically or horizontally based on the mouse movement direction. The movement velocity changes based on how far the mouse is dragged from the starting point. |
Shift: | With the Shift key down the forward/backward velocity is ten times faster. |
Ctrl: | With the Ctrl key down the forward/backward velocity is ten times slower, and the left/right velocity is 45% slower. |
Mouse wheel: | Pans the camera vertically. This will change the tilt direction that the camera is looking, but does not change the direction of forward/backward movement. |
Shift + mouse wheel: | Increases or decreases the base velocity of Dolly operations. |
Touch Operation:
Single Finger Drag | Dollies the camera forward or backward, or Pans the camera left or right based on the touch movement direction. The movement velocity changes based on how far the touch is dragged from the starting point. |
Two Finger Drag | Dollies the camera vertically or horizontally based on the touch movement direction. The movement velocity changes based on how far the touch is dragged from the starting point. |
Shift: | With the Shift key down the forward/backward velocity is ten times faster. |
Ctrl: | With the Ctrl key down the forward/backward velocity is ten times slower, and the left/right velocity is 45% slower. |
Member Function Documentation
◆ GetEnableMiddleMouseButtonDolly()
bool HPS::SimpleWalkOperator::GetEnableMiddleMouseButtonDolly | ( | ) | const |
This function returns the state of Camera Dolly operations using the middle mouse button. The SimpleWalkOperator has Camera Dolly operations fixed to the middle mouse button by default. To disable this behavior, set this value to false.
- Returns
- true if middle mouse button Camera Dollying is enabled, false otherwise.
◆ GetName()
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::WalkOperator.
◆ IsMouseTriggered()
|
virtual |
This function overrides the base class implementation to additionally inspect in_state for the middle mouse button state if middle mouse button Camera Dollying is enabled.
- Returns
- true if the MouseButtons and ModifierKeys are active.
Reimplemented from HPS::Operator.
◆ OnKeyDown()
|
inlinevirtual |
This function is called whenever HPS receives a KeyboardState event that signals a button was pressed. This operator does not handle key down events.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnKeyUp()
|
inlinevirtual |
This function is called whenever HPS receives a KeyboardState event that signals a button was released. This operator does not handle key up events.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnModelAttached()
|
virtual |
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.
Reimplemented from HPS::WalkOperator.
◆ OnMouseDown()
|
virtual |
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.
Reimplemented from HPS::FlyOperator.
◆ OnMouseEnter()
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnMouseLeave()
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse left the window.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnMouseMove()
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function rotates the camera in place and moves forward/back if the left 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.
Reimplemented from HPS::FlyOperator.
◆ OnMouseUp()
|
virtual |
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.
Reimplemented from HPS::FlyOperator.
◆ OnMouseWheel()
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse wheel moved
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnTimerTick()
|
virtual |
This function is called whenever HPS receives a TimerTickEvent This function moves the camera
- Parameters
-
in_state A TimerTickEvent object describing the current timer tick.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::WalkOperator.
◆ OnTouchDown()
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnTouchMove()
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnTouchUp()
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::FlyOperator.
◆ OnViewAttached()
|
virtual |
This function is called whenever a view is attached to this operator.
Reimplemented from HPS::WalkOperator.
◆ SetEnableMiddleMouseButtonDolly()
void HPS::SimpleWalkOperator::SetEnableMiddleMouseButtonDolly | ( | bool | in_enable | ) |
This function enables or disables Camera Dolly operations using the middle mouse button. The SimpleWalkOperator has Camera Dolly operations fixed to the middle mouse button by default. To disable this behavior, set this value to false.
- Parameters
-
in_state The new state of middle mouse button dollying.
◆ SetKeyboardControlKey()
void HPS::SimpleWalkOperator::SetKeyboardControlKey | ( | bool | in_state | ) |
◆ SetKeyboardShiftKey()
void HPS::SimpleWalkOperator::SetKeyboardShiftKey | ( | bool | in_state | ) |
This function sets the Shift key state in this operator. Call this function from your application to inform the the operator of the Shift key state. The Shift key increases the mouse trigger button forward/backward velocity.
- Parameters
-
in_state The new state of the Shift key.
The documentation for this class was generated from the following file:
- include/sprk_ops.h