#include <sprk_ops.h>

Public Types | |
enum | Axis { X, Y, Z, Negative_X, Negative_Y, Negative_Z } |
![]() | |
enum | Priority { Low, Default, High } |
Public Member Functions | |
HPS::Plane | GetGroundPlane () const |
virtual HPS::UTF8 | GetName () const |
Axis | GetPrimaryUpAxis () const |
float | GetWalkerHeight () const |
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) |
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 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 () |
virtual HPS::Type | Type () const |
Static Public Member Functions | |
static Axis | GetPrimaryAxis (HPS::Vector const &v) |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
Additional Inherited Members | |
![]() | |
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 WalkOperator class defines an operator which allows the user to accurately move the camera around the scene, while snapped to a plane. This operator is intended for walking through models that have a defined ground plane, such as a floor in a building. For models that don't have a ground plane, Visualize will attempt to determine a ground plane heuristically. 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. |
Double-touch anywhere on the screen: | Re-center the model. |
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.
Reimplemented in HPS::SimpleWalkOperator.
|
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.
Reimplemented in HPS::SimpleWalkOperator.
The documentation for this class was generated from the following file:
- include/sprk_ops.h