The HPS::SelectOperator class is a selection mechanism that is intended to operate on a single selection point. More...
#include <sprk_ops.h>
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 |
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.
|
stronginherited |
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.
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. |
|
virtualinherited |
Assigns the parameter in_that to this operator, resulting in a clone.
|
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.
|
inherited |
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
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.
|
virtualinherited |
Tests this operator for equality against the parameter in_that.
Same as Operator::operator==
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.
|
inherited |
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
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.
|
inlineinherited |
Gets the modifier trigger associated with this operator.
|
inlineinherited |
Gets the mouse trigger associated with this operator.
|
inlinevirtual |
Returns the name of the Operator.
Reimplemented from HPS::Operator.
Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.
|
inline |
Gets the HPS::SelectionOptionsKit that has been set on this operator.
|
inherited |
|
inlinevirtualinherited |
Returns true if the MouseButtons and ModifierKeys are active.
Reimplemented in HPS::SimpleWalkOperator.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
This function is called whenever HPS receives a KeyboardEvent that signals a key was pressed.
in_state | A KeyboardState object describing the current keyboard state. |
Reimplemented in HPS::Exchange::MeasurementOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::SimpleWalkOperator, and HPS::FlyOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a KeyboardEvent that signals a key was released.
in_state | A KeyboardState object describing the current keyboard state. |
Reimplemented in HPS::SimpleWalkOperator, and HPS::FlyOperator.
|
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.
|
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.
|
virtual |
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. |
Reimplemented from HPS::Operator.
Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window.
in_state | A MouseState object describing the current mouse state. |
Reimplemented in HPS::SimpleWalkOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a MouseEvent that signals the mouse left the window.
in_state | A MouseState object describing the current mouse state. |
Reimplemented in HPS::SimpleWalkOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved.
in_state | A MouseState object describing the current mouse state. |
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.
|
inlinevirtualinherited |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.
in_state | A MouseState object describing the current mouse state. |
Reimplemented in HPS::Exchange::MeasurementOperator, HPS::NavigationCubeOperator, HPS::AxisTriadOperator, HPS::HandlesOperator, HPS::MarkupOperator, HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::FlyOperator, HPS::TurntableOperator, HPS::HighlightAreaOperator, HPS::SelectAreaOperator, HPS::ZoomBoxOperator, HPS::ConstructRectangleOperator, HPS::ZoomOperator, HPS::RelativeOrbitOperator, HPS::OrbitOperator, HPS::PanOperator, and HPS::PanOrbitZoomOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a MouseEvent that signals the mouse wheel was scrolled.
in_state | A MouseState object describing the current mouse state. |
Reimplemented in HPS::SimpleWalkOperator, HPS::FlyOperator, HPS::TurntableOperator, and HPS::MouseWheelOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a TextInputEvent that signals text was entered.
in_text | The text entered. |
Reimplemented in HPS::AnnotationOperator, and HPS::MarkupOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a TimerTickEvent.
in_event | A TimerTickEvent object describing the current event state. |
Reimplemented in HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::WalkOperator, and HPS::FlyOperator.
|
virtual |
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. |
Reimplemented from HPS::Operator.
Reimplemented in HPS::CuttingSectionOperator, and HPS::HighlightOperator.
|
inlinevirtualinherited |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved.
in_state | A TouchState object describing the current touch state. |
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.
|
inlinevirtualinherited |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
in_state | A TouchState object describing the current touch state. |
Reimplemented in HPS::Exchange::MeasurementOperator, HPS::NavigationCubeOperator, HPS::AxisTriadOperator, HPS::HandlesOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::FlyOperator, HPS::ZoomFitTouchOperator, HPS::TurntableOperator, HPS::HighlightAreaOperator, HPS::SelectAreaOperator, HPS::ZoomBoxOperator, HPS::ConstructRectangleOperator, HPS::RelativeOrbitOperator, HPS::OrbitOperator, HPS::PanOperator, and HPS::PanOrbitZoomOperator.
|
inlinevirtualinherited |
This function is called whenever a view is attached to this operator.
Reimplemented in HPS::Exchange::MeasurementOperator, HPS::Exchange::CommonMeasurementOperator, HPS::NavigationCubeOperator, HPS::AxisTriadOperator, HPS::HandlesOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::CuttingSectionOperator, HPS::SimpleWalkOperator, HPS::WalkOperator, HPS::FlyOperator, HPS::MouseWheelOperator, HPS::HighlightAreaOperator, HPS::SelectAreaOperator, and HPS::ConstructRectangleOperator.
|
inlinevirtualinherited |
This function is called whenever a view is detached from this operator.
Reimplemented in HPS::Exchange::MeasurementOperator, HPS::Exchange::CommonMeasurementOperator, HPS::NavigationCubeOperator, HPS::HandlesOperator, HPS::AnnotationOperator, HPS::MarkupOperator, HPS::CuttingSectionOperator, and HPS::FlyOperator.
|
virtualinherited |
Tests this operator for non-equality against the parameter in_that.
|
virtualinherited |
Tests this operator for equality against the parameter in_that.
Same as Operator::Equals.
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
|
private |
|
inlineinherited |
Sets the modifier trigger associated with this operator.
in_modifiers | The modifier keys that are used to trigger this operator. |
|
inlineinherited |
Sets the mouse trigger for this operator.
|
inline |
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 |
|
virtualinherited |
This function returns the true type of the underlying object.
This function is useful for finding the type of smart pointer objects that have been cast to more generic types.
Reimplemented in HPS::UpdateOptionsControl, HPS::HighlightControl, HPS::SelectionOptionsControl, HPS::OffScreenWindowOptionsControl, HPS::ApplicationWindowOptionsControl, HPS::StandAloneWindowOptionsControl, HPS::AttributeLockControl, HPS::WindowInfoControl, HPS::DebuggingControl, HPS::SubwindowControl, HPS::ContourLineControl, HPS::VisualEffectsControl, HPS::TransformMaskControl, HPS::PostProcessEffectsControl, HPS::DrawingAttributeControl, HPS::HiddenLineAttributeControl, HPS::PerformanceControl, HPS::NURBSSurfaceAttributeControl, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::CurveAttributeControl, HPS::EdgeAttributeControl, HPS::LineAttributeControl, HPS::TextAttributeControl, HPS::CuttingSectionAttributeControl, HPS::CylinderAttributeControl, HPS::LightingAttributeControl, HPS::SphereAttributeControl, HPS::MarkerAttributeControl, HPS::CullingControl, HPS::ColorInterpolationControl, HPS::TransparencyControl, HPS::SelectabilityControl, HPS::CameraControl, HPS::VisibilityControl, HPS::BoundingControl, HPS::Kit, and HPS::Control.
|
protected |
|
protectedinherited |
|
protectedinherited |
|
private |
|
staticinherited |