AxisTriadOperator
-
class AxisTriadOperator : public HPS::Operator
The AxisTriadOperator class defines an operator which allows the user to interact with the axis triad. This Operator works for both mouse- and touch-driven devices. Mouse-Driver Devices: Left Double Click: Double clicking on an axis snaps the view to that plane Left Button Down and Move: Rotates the scene Touch-Driven Devices: Double Tap: Double tapping on an axis snaps the view to that plane Tap and Move: Rotates the scene
Public Functions
-
AxisTriadOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys())
-
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. If a double-click is received the view snaps to the appropriate plane.
- 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 orbits the camera.
- 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 snaps the camera to a plane, if a double tap was received.
- 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 orbits 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.
-
AxisTriadOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys())