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::MouseState Class Reference

The MouseState class represents the state of the mouse or similar pointer device for a particular event. More...

#include <hps.h>

Inheritance diagram for HPS::MouseState:
Collaboration diagram for HPS::MouseState:

Public Member Functions

 MouseState ()
 The default constructor creates an empty MouseState object. More...
 
 MouseState (MouseState const &in_that)
 The copy constructor creates a new MouseState object that contains the same settings as the source MouseState. More...
 
 MouseState (MouseState &&in_that)
 The move constructor creates a MouseState by transferring the underlying impl of the rvalue reference to this MouseState thereby avoiding a copy and allocation. More...
 
MouseStateoperator= (MouseState &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this MouseState thereby avoiding a copy. More...
 
 ~MouseState ()
 
HPS::Type ObjectType () const
 
void Assign (MouseState const &in_that)
 Copies the source MouseState into this MouseState. More...
 
MouseStateoperator= (MouseState const &in_that)
 Copies the source MouseState into this MouseState. More...
 
bool Equals (MouseState const &in_that) const
 Check if the source MouseState is equivalent to this MouseState. More...
 
bool operator== (MouseState const &in_that) const
 Check if the source MouseState is equivalent to this MouseState. More...
 
bool operator!= (MouseState const &in_that) const
 Check if the source MouseState is not equivalent to this MouseState. More...
 
bool HasAll (MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
 Checks if this MouseState has all of the specified properties. More...
 
void Set (KeyArray const &in_path, MouseEvent const &in_event, WindowPoint const &in_point, MouseButtons in_buttons=MouseButtons(), ModifierKeys in_modifiers=ModifierKeys())
 Sets the properties of this MouseState. More...
 
HPS::MouseEvent GetActiveEvent () const
 Get the active event for this MouseState. More...
 
HPS::WindowKey GetEventSource () const
 Get the window which had focus when the mouse represented by this MouseState underwent the active action. More...
 
HPS::KeyArray GetEventPath () const
 Get the relevant list of keys up to the window which had focus when the mouse represented by this MouseState underwent the active action. More...
 
MouseButtons GetButtons () const
 Get the current state of the mouse buttons immediately after the active event. More...
 
WindowPoint GetLocation () const
 Get the current mouse position. More...
 
ModifierKeys GetModifierKeys () const
 Get an object representing the state of modifier keys for this MouseState. More...
 
void SetActiveEvent (MouseEvent const &in_event)
 Sets the active event for this MouseState. More...
 
void SetEventPath (KeyArray const &in_path)
 Sets the relevant list of keys up to the window which had focus for this mouse event. More...
 
void SetButtons (MouseButtons in_buttons)
 Sets the current state of the mouse buttons immediately after the active event. More...
 
void SetLocation (WindowPoint const &in_point)
 Sets the current mouse position. More...
 
void SetModifierKeys (ModifierKeys in_modifiers)
 Sets an object representing the state of modifier keys for this MouseState. 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::MouseState
 

Detailed Description

The MouseState class represents the state of the mouse or similar pointer device for a particular event.

Constructor & Destructor Documentation

◆ MouseState() [1/3]

HPS::MouseState::MouseState ( )

The default constructor creates an empty MouseState object.

◆ MouseState() [2/3]

HPS::MouseState::MouseState ( MouseState const &  in_that)

The copy constructor creates a new MouseState object that contains the same settings as the source MouseState.

Parameters
in_thatThe source MouseState to copy.

◆ MouseState() [3/3]

HPS::MouseState::MouseState ( MouseState &&  in_that)

The move constructor creates a MouseState by transferring the underlying impl of the rvalue reference to this MouseState thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a MouseState to take the impl from.

◆ ~MouseState()

HPS::MouseState::~MouseState ( )

Member Function Documentation

◆ Assign()

void HPS::MouseState::Assign ( MouseState const &  in_that)

Copies the source MouseState into this MouseState.

Parameters
in_thatThe source MouseState to copy.

◆ 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.

◆ 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()

bool HPS::MouseState::Equals ( MouseState const &  in_that) const

Check if the source MouseState is equivalent to this MouseState.

Parameters
in_kitThe source MouseState to compare to this MouseState.
Returns
true if the objects are equivalent, false otherwise.

◆ GetActiveEvent()

HPS::MouseEvent HPS::MouseState::GetActiveEvent ( ) const

Get the active event for this MouseState.

This will throw an exception if there is no active action for this MouseState.

Returns
The action for this MouseState.

◆ GetButtons()

MouseButtons HPS::MouseState::GetButtons ( ) const

Get the current state of the mouse buttons immediately after the active event.

Returns
The state of the mouse buttons.

◆ 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.

◆ GetEventPath()

HPS::KeyArray HPS::MouseState::GetEventPath ( ) const

Get the relevant list of keys up to the window which had focus when the mouse represented by this MouseState underwent the active action.

This will throw an exception if there is no event path for this MouseState.

Returns
The relevant list of keys up to the window which had focus when the mouse event represented by this MouseState underwent the active action.

◆ GetEventSource()

HPS::WindowKey HPS::MouseState::GetEventSource ( ) const

Get the window which had focus when the mouse represented by this MouseState underwent the active action.

This will throw an exception if there is no event source for this MouseState.

Returns
The window which had focus when the mouse represented by this MouseState underwent the active action.

◆ 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.

◆ GetLocation()

WindowPoint HPS::MouseState::GetLocation ( ) const

Get the current mouse position.

Returns
The location, in window space of the mouse cursor.

◆ GetModifierKeys()

ModifierKeys HPS::MouseState::GetModifierKeys ( ) const

Get an object representing the state of modifier keys for this MouseState.

Returns
An object representing the state of modifier keys.

◆ HasAll()

bool HPS::MouseState::HasAll ( MouseButtons  in_mouse_trigger,
ModifierKeys  in_modifier_trigger 
) const

Checks if this MouseState has all of the specified properties.

Parameters
in_mouse_triggerThe mouse button properties to test for.
in_modifier_triggerThe modifier keys properties to test for.
Returns
true if this MouseState has all of the specified properties, false otherwise.
Here is the caller graph for this function:

◆ 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.

◆ ObjectType()

HPS::Type HPS::MouseState::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

bool HPS::MouseState::operator!= ( MouseState const &  in_that) const

Check if the source MouseState is not equivalent to this MouseState.

Parameters
in_kitThe source MouseState to compare to this MouseState.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator=() [1/2]

MouseState& HPS::MouseState::operator= ( MouseState &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this MouseState thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a MouseState to take the impl from.
Returns
A reference to this MouseState.

◆ operator=() [2/2]

MouseState& HPS::MouseState::operator= ( MouseState const &  in_that)

Copies the source MouseState into this MouseState.

Parameters
in_thatThe source MouseState to copy.
Returns
A reference to this MouseState.

◆ operator==()

bool HPS::MouseState::operator== ( MouseState const &  in_that) const

Check if the source MouseState is equivalent to this MouseState.

Parameters
in_kitThe source MouseState to compare to this MouseState.
Returns
true if the objects are equivalent, false otherwise.

◆ Reset()

◆ Set()

void HPS::MouseState::Set ( KeyArray const &  in_path,
MouseEvent const &  in_event,
WindowPoint const &  in_point,
MouseButtons  in_buttons = MouseButtons(),
ModifierKeys  in_modifiers = ModifierKeys() 
)

Sets the properties of this MouseState.

Parameters
in_pathThe list of keys up to the window which had focus for this mouse event.
in_eventThe mouse event.
in_pointThe location, in window space of the mouse cursor for this mouse event.
in_buttonsThe state of the mouse buttons immediately after this mouse event.
in_modifiersThe state of modifier keys for this mouse event.

◆ SetActiveEvent()

void HPS::MouseState::SetActiveEvent ( MouseEvent const &  in_event)

Sets the active event for this MouseState.

Parameters
in_eventThe action for this MouseState.

◆ SetButtons()

void HPS::MouseState::SetButtons ( MouseButtons  in_buttons)

Sets the current state of the mouse buttons immediately after the active event.

Parameters
in_buttonsThe state of the mouse buttons.

◆ SetEventPath()

void HPS::MouseState::SetEventPath ( KeyArray const &  in_path)

Sets the relevant list of keys up to the window which had focus for this mouse event.

Parameters
in_pathThe relevant list of keys up to the window which had focus when the mouse event represented by this MouseState underwent the active action.

◆ SetLocation()

void HPS::MouseState::SetLocation ( WindowPoint const &  in_point)

Sets the current mouse position.

Parameters
in_pointThe location, in window space of the mouse cursor.

◆ SetModifierKeys()

void HPS::MouseState::SetModifierKeys ( ModifierKeys  in_modifiers)

Sets an object representing the state of modifier keys for this MouseState.

Parameters
in_modifiersAn object representing the state of modifier keys.

◆ Type()

Member Data Documentation

◆ staticType

const HPS::Type HPS::MouseState::staticType = HPS::Type::MouseState
static

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