AxisTriadOperator

class HPS::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())
inline virtual HPS::UTF8 GetName() const

Returns the name of the operator.

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.

virtual void OnViewAttached(HPS::View const &in_attached_view)

This function is called whenever a view is attached to this operator.

Parameters

in_attached_view – The view attached to this operator.