Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::SelectOperator Class Reference

The HPS::SelectOperator class is a selection mechanism that is intended to operate on a single selection point. More...

#include <sprk_ops.h>

Inheritance diagram for HPS::SelectOperator:
Collaboration diagram for HPS::SelectOperator:

Public Types

enum  Priority {
  Priority::Low,
  Priority::Default,
  Priority::High
}
 

Public Member Functions

 SelectOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys())
 SelectOperator constructor. More...
 
virtual HPS::UTF8 GetName () const
 Returns the name of the Operator. More...
 
virtual bool OnMouseDown (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. More...
 
virtual bool OnTouchDown (TouchState const &in_state)
 This function is called whenever HPS receives a TouchEvent that signals the device was touched. More...
 
HPS::SelectionResults GetActiveSelection () const
 This method returns the results of the last selection action. More...
 
void SetSelectionOptions (HPS::SelectionOptionsKit const &in_options)
 Accepts a SelectionOptionsKit that defines the parameters that will be used for selection. More...
 
HPS::SelectionOptionsKit GetSelectionOptions () const
 Gets the HPS::SelectionOptionsKit that has been set on this operator. More...
 
HPS::Type ObjectType () const
 
virtual void Assign (Operator const &in_that)
 Assigns the parameter in_that to this operator, resulting in a clone. More...
 
virtual bool Equals (Operator const &in_that) const
 Tests this operator for equality against the parameter in_that. More...
 
virtual bool operator!= (Operator const &in_that) const
 Tests this operator for non-equality against the parameter in_that. More...
 
virtual bool operator== (Operator const &in_that) const
 Tests this operator for equality against the parameter in_that. More...
 
void DetachView ()
 Detaches the Operator from the View it was previously attached to. More...
 
View GetAttachedView () const
 Returns the View the Operator is currently attached to. More...
 
virtual bool OnMouseUp (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. More...
 
virtual bool OnMouseMove (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse moved. More...
 
virtual bool OnMouseWheel (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse wheel was scrolled. More...
 
virtual bool OnMouseEnter (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window. More...
 
virtual bool OnMouseLeave (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse left the window. More...
 
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. More...
 
virtual bool OnTouchMove (TouchState const &in_state)
 This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. More...
 
virtual bool OnKeyDown (KeyboardState const &in_state)
 This function is called whenever HPS receives a KeyboardEvent that signals a key was pressed. More...
 
virtual bool OnKeyUp (KeyboardState const &in_state)
 This function is called whenever HPS receives a KeyboardEvent that signals a key was released. More...
 
virtual bool OnTextInput (HPS::UTF8 const &in_text)
 This function is called whenever HPS receives a TextInputEvent that signals text was entered. More...
 
virtual bool OnTimerTick (HPS::TimerTickEvent const &in_event)
 This function is called whenever HPS receives a TimerTickEvent. More...
 
virtual void OnViewAttached ()
 This function is called whenever a view is attached to this operator. More...
 
virtual void OnViewDetached ()
 This function is called whenever a view is detached from this operator. More...
 
virtual void OnModelAttached ()
 This function is called whenever a model is attached to the view that is attached to this operator. More...
 
virtual void OnModelDetached ()
 This function is called whenever a model is detached from the view that is attached to this operator. More...
 
void SetMouseTrigger (MouseButtons in_buttons)
 Sets the mouse trigger for this operator. More...
 
MouseButtons GetMouseTrigger () const
 Gets the mouse trigger associated with this operator. More...
 
void SetModifierTrigger (ModifierKeys in_modifiers)
 Sets the modifier trigger associated with this operator. More...
 
ModifierKeys GetModifierTrigger () const
 Gets the modifier trigger associated with this operator. More...
 
virtual bool IsMouseTriggered (MouseState const &in_state)
 Returns true if the MouseButtons and ModifierKeys are active. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::Operator
 

Protected Attributes

HPS::SelectionResults active_selection
 
HPS::MouseButtons mouse_trigger
 
HPS::ModifierKeys modifier_trigger
 

Private Member Functions

bool SelectCommon (HPS::Point const &in_loc, HPS::WindowKey &in_window, HPS::ModifierKeys in_modifiers=HPS::ModifierKeys())
 

Private Attributes

HPS::SelectionOptionsKit selection_options
 

Detailed Description

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.

Member Enumeration Documentation

◆ Priority

enum HPS::Operator::Priority
stronginherited
Enumerator
Low 
Default 
High 

Constructor & Destructor Documentation

◆ SelectOperator()

HPS::SelectOperator::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.

Parameters
in_mouse_triggerThe mouse button that will trigger this operator. Defaults to left mouse button.
in_modifier_triggerThe 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.

Member Function Documentation

◆ Assign()

virtual void HPS::Operator::Assign ( Operator const &  in_that)
virtualinherited

Assigns the parameter in_that to this operator, resulting in a clone.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ DetachView()

void HPS::Operator::DetachView ( )
inherited

Detaches the Operator from the View it was previously attached to.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ Equals()

virtual bool HPS::Operator::Equals ( Operator const &  in_that) const
virtualinherited

Tests this operator for equality against the parameter in_that.

Same as Operator::operator==

◆ GetActiveSelection()

HPS::SelectionResults HPS::SelectOperator::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.

◆ GetAttachedView()

View HPS::Operator::GetAttachedView ( ) const
inherited

Returns the View the Operator is currently attached to.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GetModifierTrigger()

ModifierKeys HPS::Operator::GetModifierTrigger ( ) const
inlineinherited

Gets the modifier trigger associated with this operator.

◆ GetMouseTrigger()

MouseButtons HPS::Operator::GetMouseTrigger ( ) const
inlineinherited

Gets the mouse trigger associated with this operator.

◆ GetName()

virtual HPS::UTF8 HPS::SelectOperator::GetName ( ) const
inlinevirtual

Returns the name of the Operator.

Reimplemented from HPS::Operator.

Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.

◆ GetSelectionOptions()

HPS::SelectionOptionsKit HPS::SelectOperator::GetSelectionOptions ( ) const
inline

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

Returns
The HPS::SelectionOptionsKit associated with this operator

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ IsMouseTriggered()

virtual bool HPS::Operator::IsMouseTriggered ( MouseState const &  in_state)
inlinevirtualinherited

Returns true if the MouseButtons and ModifierKeys are active.

Reimplemented in HPS::SimpleWalkOperator.

Here is the call graph for this function:

◆ ObjectType()

HPS::Type HPS::Operator::ObjectType ( ) const
inlinevirtualinherited

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ OnKeyDown()

virtual bool HPS::Operator::OnKeyDown ( KeyboardState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a KeyboardEvent that signals a key was pressed.

Parameters
in_stateA KeyboardState object describing the current keyboard state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::Exchange::MeasurementOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::SimpleWalkOperator, and HPS::FlyOperator.

◆ OnKeyUp()

virtual bool HPS::Operator::OnKeyUp ( KeyboardState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a KeyboardEvent that signals a key was released.

Parameters
in_stateA KeyboardState object describing the current keyboard state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::SimpleWalkOperator, and HPS::FlyOperator.

◆ OnModelAttached()

virtual void HPS::Operator::OnModelAttached ( )
inlinevirtualinherited

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

If no view is attached to this operator, this function will not be called.

Reimplemented in HPS::NavigationCubeOperator, HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::WalkOperator, HPS::FlyOperator, and HPS::MouseWheelOperator.

◆ OnModelDetached()

virtual void HPS::Operator::OnModelDetached ( )
inlinevirtualinherited

This function is called whenever a model is detached from the view that is attached to this operator.

If no view is attached to this operator, this function will not be called.

◆ OnMouseDown()

virtual bool HPS::SelectOperator::OnMouseDown ( MouseState const &  in_state)
virtual

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

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::Operator.

Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.

◆ OnMouseEnter()

virtual bool HPS::Operator::OnMouseEnter ( MouseState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::SimpleWalkOperator.

◆ OnMouseLeave()

virtual bool HPS::Operator::OnMouseLeave ( MouseState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a MouseEvent that signals the mouse left the window.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::SimpleWalkOperator.

◆ OnMouseMove()

virtual bool HPS::Operator::OnMouseMove ( MouseState const &  in_state)
inlinevirtualinherited

◆ OnMouseUp()

virtual bool HPS::Operator::OnMouseUp ( MouseState const &  in_state)
inlinevirtualinherited

◆ OnMouseWheel()

virtual bool HPS::Operator::OnMouseWheel ( MouseState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a MouseEvent that signals the mouse wheel was scrolled.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::SimpleWalkOperator, HPS::FlyOperator, HPS::TurntableOperator, and HPS::MouseWheelOperator.

◆ OnTextInput()

virtual bool HPS::Operator::OnTextInput ( HPS::UTF8 const &  in_text)
inlinevirtualinherited

This function is called whenever HPS receives a TextInputEvent that signals text was entered.

Parameters
in_textThe text entered.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::AnnotationOperator, and HPS::MarkupOperator.

◆ OnTimerTick()

virtual bool HPS::Operator::OnTimerTick ( HPS::TimerTickEvent const &  in_event)
inlinevirtualinherited

This function is called whenever HPS receives a TimerTickEvent.

Parameters
in_eventA TimerTickEvent object describing the current event state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::WalkOperator, and HPS::FlyOperator.

◆ OnTouchDown()

virtual bool HPS::SelectOperator::OnTouchDown ( TouchState const &  in_state)
virtual

This function is called whenever HPS receives a TouchEvent that signals the device was touched.

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::Operator.

Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.

◆ OnTouchMove()

virtual bool HPS::Operator::OnTouchMove ( TouchState const &  in_state)
inlinevirtualinherited

This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved.

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::Exchange::MeasurementOperator, HPS::NavigationCubeOperator, HPS::AxisTriadOperator, HPS::HandlesOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::FlyOperator, HPS::TurntableOperator, HPS::ConstructRectangleOperator, HPS::ZoomOperator, HPS::RelativeOrbitOperator, HPS::OrbitOperator, HPS::PanOperator, and HPS::PanOrbitZoomOperator.

◆ OnTouchUp()

virtual bool HPS::Operator::OnTouchUp ( TouchState const &  in_state)
inlinevirtualinherited

◆ OnViewAttached()

◆ OnViewDetached()

virtual void HPS::Operator::OnViewDetached ( )
inlinevirtualinherited

◆ operator!=()

virtual bool HPS::Operator::operator!= ( Operator const &  in_that) const
virtualinherited

Tests this operator for non-equality against the parameter in_that.

◆ operator==()

virtual bool HPS::Operator::operator== ( Operator const &  in_that) const
virtualinherited

Tests this operator for equality against the parameter in_that.

Same as Operator::Equals.

◆ Reset()

◆ SelectCommon()

bool HPS::SelectOperator::SelectCommon ( HPS::Point const &  in_loc,
HPS::WindowKey in_window,
HPS::ModifierKeys  in_modifiers = HPS::ModifierKeys() 
)
private

◆ SetModifierTrigger()

void HPS::Operator::SetModifierTrigger ( ModifierKeys  in_modifiers)
inlineinherited

Sets the modifier trigger associated with this operator.

Parameters
in_modifiersThe modifier keys that are used to trigger this operator.

◆ SetMouseTrigger()

void HPS::Operator::SetMouseTrigger ( MouseButtons  in_buttons)
inlineinherited

Sets the mouse trigger for this operator.

◆ SetSelectionOptions()

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

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

Parameters
in_optionsThe SelectionOptionsKit from which the selection options will be set

◆ Type()

Member Data Documentation

◆ active_selection

HPS::SelectionResults HPS::SelectOperator::active_selection
protected

◆ modifier_trigger

HPS::ModifierKeys HPS::Operator::modifier_trigger
protectedinherited

◆ mouse_trigger

HPS::MouseButtons HPS::Operator::mouse_trigger
protectedinherited

◆ selection_options

HPS::SelectionOptionsKit HPS::SelectOperator::selection_options
private

◆ staticType

const HPS::Type HPS::Operator::staticType = HPS::Type::Operator
staticinherited

The documentation for this class was generated from the following file: