PanOrbitZoomOperator
-
class
PanOrbitZoomOperator
: public HPS::Operator 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
Public Functions
-
virtual bool
OnMouseDown
(MouseState const &in_state) 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.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnMouseMove
(MouseState const &in_state) 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.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnMouseUp
(MouseState const &in_state) This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. This function stops the operator.
Parameters: in_state – A MouseState object describing the current mouse state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchDown
(TouchState const &in_state) 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.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchMove
(TouchState const &in_state) 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.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
virtual bool
OnTouchUp
(TouchState const &in_state) This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released. This function stops the operator.
Parameters: in_state – A TouchState object describing the current touch state. Returns: true if the input event was handled, false otherwise.
-
PanOrbitZoomOperator
(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys())
-
virtual bool