#include <sprk_ops.h>
Public Member Functions | |
WalkOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
virtual HPS::UTF8 | GetName () const |
virtual void | OnViewAttached () |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
void | SetGroundPlane (HPS::Plane const &in_plane) |
HPS::Plane | GetGroundPlane () |
void | SetWalkerHeight (float height) |
float | GetWalkerHeight () |
![]() | |
FlyOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
virtual bool | OnKeyDown (KeyboardState const &in_state) |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual bool | OnMouseDown (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnMouseMove (MouseState const &in_state) |
virtual bool | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnTouchDown (TouchState const &in_state) |
virtual bool | OnTouchUp (TouchState const &in_state) |
virtual bool | OnTouchMove (TouchState const &in_state) |
virtual void | OnModelAttached () |
virtual void | OnViewDetached () |
void | InvertXAxis () |
void | InvertYAxis () |
bool | IsXAxisInverted () |
bool | IsYAxisInverted () |
float | GetKeyboardSensitivity () |
void | SetKeyboardSensitivity (float in_keyboard_sensitivity) |
float | GetMouseSensitivity () |
void | SetMouseSensitivity (float in_mouse_sensitivity) |
float | GetLeftJoystickSensitivity () |
void | SetLeftJoystickSensitivity (float in_left_joystick_sensitivity) |
float | GetRightJoystickSensitivity () |
void | SetRightJoystickSensitivity (float right_joystick_sensitivity) |
float | GetJoystickDeadZone () |
void | SetJoystickDeadZone (float in_dead_zone) |
![]() | |
Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
Operator (Operator const &in_that) | |
HPS::Type | ObjectType () const |
virtual Operator & | operator= (Operator const &in_that) |
virtual void | Assign (Operator const &in_that) |
virtual bool | Equals (Operator const &in_that) const |
virtual bool | operator!= (Operator const &in_that) const |
virtual bool | operator== (Operator const &in_that) const |
void | DetachView () |
View | GetAttachedView () const |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual void | OnModelDetached () |
void | SetMouseTrigger (MouseButtons in_buttons) |
MouseButtons | GetMouseTrigger () const |
void | SetModifierTrigger (ModifierKeys in_modifiers) |
ModifierKeys | GetModifierTrigger () const |
virtual bool | IsMouseTriggered (MouseState const &in_state) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
Object & | operator= (Object const &other_object) |
Object (Object &&in_that) | |
Object & | operator= (Object &&in_that) |
HPS::Type | Type () const |
virtual bool | Empty () const |
virtual void | Reset () |
bool | HasType (HPS::Type in_mask) const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
Additional Inherited Members | |
![]() | |
enum | Priority { Low, Normal, High } |
![]() | |
enum | UpdateType { Synchronous, Asynchronous } |
![]() | |
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 | 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 | MoveDown (HPS::Point &position, HPS::Point &target, HPS::Vector &up) |
void | MoveForward (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction) |
void | MoveBack (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction) |
void | MoveWithTouch (HPS::Point &position, HPS::Point &target, HPS::Vector &up, HPS::Vector const &walking_direction) |
void | RotateScene (HPS::Point &position, HPS::Point &target) |
void | RotateWithTouch (HPS::Point &position, HPS::Point &target) |
void | RotateCommon (HPS::Point const &delta, HPS::Point &position, HPS::Point &target) |
![]() | |
unsigned int | movement_flags |
![]() | |
HPS::MouseButtons | mouse_trigger |
HPS::ModifierKeys | modifier_trigger |
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.
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 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
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::FlyOperator.
Reimplemented in HPS::SimpleWalkOperator.
|
virtual |
This function is called whenever HPS receives a TimerTickEvent This function moves the camera
in_state | A TimerTickEvent object describing the current timer tick. |
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.