class HPS::SelectOperator : public HPS::Operator

The HPS::SelectOperator class is a selection mechanism that is intended to operate on a single selection point. As with all operators, this operator must be made active on a HPS::View object before it can be used. The results of the last selection can be obtained by calling GetActiveSelection(). Selection options such as granularity, algorithm, proximity, and more are set using a HPS::SelectionOptionsKit passed to SetSelectionOptions. See Programming Guide section “User Interaction” for more details on how to use operators.

Subclassed by HPS::CuttingSectionOperator, HPS::HighlightOperator

Public Functions

HPS::SelectionResults GetActiveSelection() const

This method returns the results of the last selection action. If no objects were selected, the SelectionResults object returned will be have a count of 0.

inline virtual HPS::UTF8 GetName() const

Returns the name of the Operator.

inline HPS::SelectionOptionsKit GetSelectionOptions() const

Gets the HPS::SelectionOptionsKit that has been set on this operator.


The HPS::SelectionOptionsKit associated with this operator

virtual bool OnMouseDown(MouseState const &in_state)

This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed.


in_state – A MouseState object describing the current mouse state.


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.


in_state – A TouchState object describing the current touch state.


true if the input event was handled, false otherwise.

SelectOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys())

SelectOperator constructor. The operator is not active until it is attached to a HPS::View. Even after being attached, operator must remain in scope until you’re done using it.

  • in_mouse_trigger – The mouse button that will trigger this operator. Defaults to left mouse button.

  • in_modifier_trigger – The modifier key that, when used with the in_mouse_trigger, will trigger this operator. Passing an empty ModifierKeys object means no modifier key is necessary to trigger the operator.

inline void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)

Accepts a SelectionOptionsKit that defines the parameters that will be used for selection.


in_options – The SelectionOptionsKit from which the selection options will be set