# 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())
  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.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...