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

The EventHandler class is the base class for any event handler that can be created. More...

#include <hps.h>

Inheritance diagram for HPS::EventHandler:
Collaboration diagram for HPS::EventHandler:

Public Types

enum  HandleResult : uint32_t {
  HandleResult::Handled,
  HandleResult::NotHandled
}
 Enumeration of the values the EventHandler uses to indicate if it handled an event. More...
 

Public Member Functions

 EventHandler ()
 The default constructor creates an EventHandler object not subscribed to any event. More...
 
 EventHandler (EventHandler const &in_that)
 The copy constructor creates a new EventHandler object that points to the same underlying impl as the source EventHandler. More...
 
 EventHandler (EventHandler &&in_that)
 The move constructor creates an EventHandler by transferring the underlying impl of the rvalue reference to this EventHandler thereby avoiding a copy and allocation. More...
 
EventHandleroperator= (EventHandler &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this EventHandler thereby avoiding a copy. More...
 
EventHandleroperator= (EventHandler const &in_that)
 Share the underlying smart-pointer of the EventHandler source. More...
 
virtual ~EventHandler ()
 
HPS::Type ObjectType () const
 
bool Subscribe (EventDispatcher const &in_dispatcher, intptr_t in_type) const
 Add this EventHandler object to the list of subscribers for events of the specified type on the specified EventDispatcher. More...
 
bool UnSubscribe (EventDispatcher const &in_dispatcher, intptr_t in_type) const
 Remove this EventHandler object from the list of subscribers for events of the specified type on the specified EventDispatcher. More...
 
bool UnSubscribe (EventDispatcher const &in_dispatcher) const
 Remove this EventHandler object from the list of subscribers for all events on the specified EventDispatcher. More...
 
void UnSubscribeEverything () const
 Remove this EventHandler object from all events on all EventDispatchers. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
void Shutdown ()
 Notifies the EventDispatcher that this handler is being invalidated and no further events should be dispatched to it. More...
 
virtual HandleResult Handle (Event const *in_event)
 Function that gets triggered if this EventHandler receives an event it is subscribed to. 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...
 
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::EventHandler
 

Detailed Description

The EventHandler class is the base class for any event handler that can be created.

All custom event handlers should inherit from this.

Member Enumeration Documentation

◆ HandleResult

enum HPS::EventHandler::HandleResult : uint32_t
strong

Enumeration of the values the EventHandler uses to indicate if it handled an event.

Enumerator
Handled 

The event was handled by this EventHandler.

Consume the event if possible.

NotHandled 

The event was not handled by this EventHandler.

Pass to the next handler if any or if possible.

Constructor & Destructor Documentation

◆ EventHandler() [1/3]

HPS::EventHandler::EventHandler ( )

The default constructor creates an EventHandler object not subscribed to any event.

◆ EventHandler() [2/3]

HPS::EventHandler::EventHandler ( EventHandler const &  in_that)

The copy constructor creates a new EventHandler object that points to the same underlying impl as the source EventHandler.

Parameters
in_thatThe source EventHandler to point to.

◆ EventHandler() [3/3]

HPS::EventHandler::EventHandler ( EventHandler &&  in_that)

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

Parameters
in_thatAn rvalue reference to an EventHandler to take the impl from.

◆ ~EventHandler()

virtual HPS::EventHandler::~EventHandler ( )
virtual

Member Function Documentation

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

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

◆ Handle()

virtual HandleResult HPS::EventHandler::Handle ( Event const *  in_event)
inlinevirtual

Function that gets triggered if this EventHandler receives an event it is subscribed to.

This should be overridden by subclasses of EventHandler to perform any custom behavior.

Parameters
in_eventEvent which was triggered.
Returns
Handled if the event was handled, NotHandled otherwise.

Reimplemented in HPS::NavigationCubeOperator::SmoothTransitionCompleteEventHandler, HPS::AnnotationOperator::KeyboardHiddenEventHandler, and HPS::MarkupOperator::KeyboardHiddenEventHandler.

◆ 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::EventHandler::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

◆ operator=() [1/2]

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

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

Parameters
in_thatAn rvalue reference to an EventHandler to take the impl from.
Returns
A reference to this EventHandler.

◆ operator=() [2/2]

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

Share the underlying smart-pointer of the EventHandler source.

Parameters
in_thatThe EventHandler source of the assignment.
Returns
A reference to this EventHandler.

◆ Reset()

virtual void HPS::EventHandler::Reset ( )
inlinevirtual

Resets this object to its initial, uninitialized state.

Reimplemented from HPS::Object.

◆ Shutdown()

void HPS::EventHandler::Shutdown ( )

Notifies the EventDispatcher that this handler is being invalidated and no further events should be dispatched to it.

This method must be called in any derived class destructors.

◆ Subscribe()

bool HPS::EventHandler::Subscribe ( EventDispatcher const &  in_dispatcher,
intptr_t  in_type 
) const

Add this EventHandler object to the list of subscribers for events of the specified type on the specified EventDispatcher.

Parameters
in_dispatcherDispatcher from which to receive events of the given type.
in_typeType of event to receive from the dispatcher.
Returns
true if the subscription was successful, false otherwise.

◆ Type()

◆ UnSubscribe() [1/2]

bool HPS::EventHandler::UnSubscribe ( EventDispatcher const &  in_dispatcher,
intptr_t  in_type 
) const

Remove this EventHandler object from the list of subscribers for events of the specified type on the specified EventDispatcher.

Parameters
in_dispatcherDispatcher from which to no longer receive events of the given type.
in_typeType of event to no longer receive from the dispatcher.
Returns
true if the unsubscription was successful, false otherwise.

◆ UnSubscribe() [2/2]

bool HPS::EventHandler::UnSubscribe ( EventDispatcher const &  in_dispatcher) const

Remove this EventHandler object from the list of subscribers for all events on the specified EventDispatcher.

Parameters
in_dispatcherDispatcher from which to no longer receive events.
Returns
true if the unsubscription was successful, false otherwise.

◆ UnSubscribeEverything()

void HPS::EventHandler::UnSubscribeEverything ( ) const

Remove this EventHandler object from all events on all EventDispatchers.

Member Data Documentation

◆ staticType

const HPS::Type HPS::EventHandler::staticType = HPS::Type::EventHandler
static

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