Public Member Functions | List of all members
HPS::WalkOperator Class Reference

#include <sprk_ops.h>

Inheritance diagram for HPS::WalkOperator:
HPS::FlyOperator HPS::Operator HPS::Sprocket HPS::Object HPS::SimpleWalkOperator

Public Member Functions

 WalkOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger=ModifierKeys())
 
virtual HPS::UTF8 GetName () const
 
virtual void OnViewAttached ()
 
virtual void OnModelAttached ()
 
virtual bool OnTimerTick (HPS::TimerTickEvent const &in_event)
 
void SetGroundPlane (HPS::Plane const &in_plane)
 
HPS::Plane GetGroundPlane ()
 
void SetWalkerHeight (float height)
 
float GetWalkerHeight ()
 
- Public Member Functions inherited from HPS::FlyOperator
 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 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 in_right_joystick_sensitivity)
 
float GetJoystickDeadZone ()
 
void SetJoystickDeadZone (float in_dead_zone)
 
- Public Member Functions inherited from HPS::Operator
 Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys())
 
 Operator (Operator const &in_that)
 
HPS::Type ObjectType () const
 
virtual Operatoroperator= (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)
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (HPS::Sprocket const &in_that)=default
 
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
 Object (Object const &that)
 
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (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

- Public Types inherited from HPS::Operator
enum  Priority { Low, Normal, High }
 
- Public Types inherited from HPS::Sprocket
enum  UpdateType { Synchronous, Asynchronous }
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 
- Protected Types inherited from HPS::FlyOperator
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
}
 
- Protected Member Functions inherited from HPS::FlyOperator
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)
 
- Protected Attributes inherited from HPS::FlyOperator
unsigned int movement_flags
 
- Protected Attributes inherited from HPS::Operator
HPS::MouseButtons mouse_trigger
 
HPS::ModifierKeys modifier_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:

WMove camera position and target forward
SMove camera position and target backward
APan camera left
DPan camera right
CPan camera down
spacePan camera up
Right-button down and moveRotate camera in place
ShiftWalk at double the speed while pressed
CtrlWalk at half the speed while pressed
Mouse wheelIncrease / decrease step length
Shift + mouse wheelIncrease / decrease field of view

Touch devices:

touch left side of screenPans camera in left or right, moves camera forward or back
touch right side of screenRotates camera in place
Two-finger touch and move one fingerPans 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

virtual HPS::UTF8 HPS::WalkOperator::GetName ( ) const
inlinevirtual

Returns the name of the operator.

Reimplemented from HPS::FlyOperator.

Reimplemented in HPS::SimpleWalkOperator.

virtual void HPS::WalkOperator::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::FlyOperator.

virtual bool HPS::WalkOperator::OnTimerTick ( HPS::TimerTickEvent const &  in_event)
virtual

This function is called whenever HPS receives a TimerTickEvent This function moves the camera

Parameters
in_stateA 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 void HPS::WalkOperator::OnViewAttached ( )
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: