#include <sprk_ops.h>

Public Member Functions | |
HPS::Plane | GetGroundPlane () |
virtual HPS::UTF8 | GetName () const |
float | GetWalkerHeight () |
virtual void | OnModelAttached () |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
virtual void | OnViewAttached () |
void | SetGroundPlane (HPS::Plane const &in_plane) |
void | SetWalkerHeight (float height) |
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 () |
float | GetKeyboardSensitivity () |
float | GetLeftJoystickSensitivity () |
float | GetMouseSensitivity () |
float | GetRightJoystickSensitivity () |
void | InvertXAxis () |
void | InvertYAxis () |
bool | IsXAxisInverted () |
bool | IsYAxisInverted () |
virtual bool | OnKeyDown (KeyboardState const &in_state) |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual bool | OnMouseDown (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 | OnTouchDown (TouchState const &in_state) |
virtual bool | OnTouchMove (TouchState const &in_state) |
virtual bool | OnTouchUp (TouchState const &in_state) |
virtual void | OnViewDetached () |
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 |
virtual bool | IsMouseTriggered (MouseState const &in_state) |
HPS::Type | ObjectType () const |
virtual void | OnModelDetached () |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
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 () |
HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
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) |
void | 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) |
void | RotateScene (HPS::Point &position, HPS::Point &target) |
void | RotateWithTouch (HPS::Point &position, HPS::Point &target) |
![]() | |
unsigned int | movement_flags |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
The WalkOperator class defines an operator which allows the user to accurately move the camera around the scene, while snapped to a plane. This operator works for both mouse and touch-driven devices.
Mouse-driven devices:
W | Move camera position and target forward |
S | Move camera position and target backward |
A | Pan camera left |
D | Pan camera right |
C | Pan camera down |
space | Pan camera up |
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 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 and move one finger | Pans camera up or down, rolls camera left or right |
NOTE: The movement speed increases as the user drags his fingers away from the initial touch position
Member Function Documentation
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::FlyOperator.
Reimplemented in HPS::SimpleWalkOperator.
|
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::FlyOperator.
|
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::FlyOperator.
Reimplemented in HPS::SimpleWalkOperator.
|
virtual |
This function is called whenever a view is attached to this operator.
Reimplemented from HPS::FlyOperator.
The documentation for this class was generated from the following file:
- include/sprk_ops.h