#include <sprk_ops.h>
Public Member Functions | |
PanOrbitZoomOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
virtual HPS::UTF8 | GetName () const |
virtual bool | OnMouseDown (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnMouseMove (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) |
![]() | |
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 | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual bool | OnKeyDown (KeyboardState const &in_state) |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
virtual void | OnViewAttached () |
virtual void | OnViewDetached () |
virtual void | OnModelAttached () |
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 (HPS::Sprocket const &in_that)=default | |
Sprocket (Sprocket &&in_that) | |
![]() | |
Object (Object const &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 () |
![]() | |
HPS::MouseButtons | mouse_trigger |
HPS::ModifierKeys | modifier_trigger |
The PanOrbitZoomOperator class defines an operator which allows the user to pan, orbit and zoom the camera. This Operator works for both mouse- and touch-driven devices. Mouse-Driven Devices: Left button pressed and move: Orbit camera Left button pressed and move + Shift: Pan camera Left button pressed and move + Ctrl: Zoom camera Touch-Driven Devices: Touch down and move: Orbit camera Two finger touch and move: Pan camera Pinch: Zoom camera
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::Operator.
|
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.
in_state | A MouseState object describing the current mouse state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function interprets the input to decide whether to orbit, zoom or pan the camera, and updates the camera as needed.
in_state | A MouseState object describing the current mouse state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. This function stops the operator.
in_state | A MouseState object describing the current mouse state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched. This function starts the operator and computes the position of the starting point.
in_state | A TouchState object describing the current touch state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. This function interprets the input to decide whether to orbit, zoom or pan the camera, and updates the camera as needed.
in_state | A TouchState object describing the current touch state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released. This function stops the operator.
in_state | A TouchState object describing the current touch state. |
Reimplemented from HPS::Operator.