8 #ifndef META_OCEAN_TRACKING_OFFLINE_TRACKER_EVENT_H
9 #define META_OCEAN_TRACKING_OFFLINE_TRACKER_EVENT_H
58 inline unsigned int trackerId()
const;
80 TrackerEvent(
const unsigned int type,
const unsigned int subtype,
const unsigned int trackerId);
85 unsigned int trackerId_ = 0u;
316 inline unsigned int componentProgress()
const;
326 inline ProgressEvent(
const unsigned int subtype,
const unsigned int trackerId,
const unsigned int componentProgress);
331 unsigned int componentProgress_ = 0u;
362 static inline EventRef createEvent(
const unsigned int trackerId,
const unsigned int componentProgress);
393 static inline EventRef createEvent(
const unsigned int trackerId,
const unsigned int componentProgress);
424 static inline EventRef createEvent(
const unsigned int trackerId,
const unsigned int componentProgress);
476 inline explicit StateEvent(
const unsigned int subtype,
const unsigned int trackerId);
513 static inline EventRef createEvent(
const unsigned int trackerId,
const PinholeCamera& pinholeCamera);
638 inline bool isTransformationASuggestion()
const;
647 static inline EventRef createEvent(
const unsigned int trackerId,
const HomogenousMatrix4& transformation,
const bool isSuggestion =
false);
684 inline const Plane3& plane()
const;
692 static inline EventRef createEvent(
const unsigned int trackerId,
const Plane3& plane);
764 componentProgress_(componentProgress)
775 ProgressEvent(PEST_TRACKER_PROCESS, trackerId, componentProgress)
814 StateEvent(SEST_CAMERA_CALIBRATION, trackerId),
815 camera_(pinholeCamera)
865 StateEvent(SEST_TRACKER_TRANSFORMATION, trackerId),
866 transformation_(transformation),
867 transformationSuggestion_(isSuggestion)
This class implements the base class for all event classes.
Definition: Event.h:41
This template class implements a object reference with an internal reference counter.
Definition: base/ObjectRef.h:58
This template class implements a smart object reference which is a specialization of an ObjectRef obj...
Definition: SmartObjectRef.h:90
This class implements a component event for the analysis components.
Definition: TrackerEvent.h:223
static EventRef createEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event reference object.
Definition: TrackerEvent.h:746
AnalysisComponentEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event object.
Definition: TrackerEvent.h:740
This class implements a progress event for analysis components.
Definition: TrackerEvent.h:377
static EventRef createEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new event reference object.
Definition: TrackerEvent.h:791
AnalysisProgressEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new progress event object.
Definition: TrackerEvent.h:785
This class implements a camera state event that provides a camera profile.
Definition: TrackerEvent.h:491
const PinholeCamera & camera() const
Returns the camera profile of this event.
Definition: TrackerEvent.h:820
CameraCalibrationStateEvent(const unsigned int trackerId, const PinholeCamera &pinholeCamera)
Creates a new camera state event object.
Definition: TrackerEvent.h:813
const PinholeCamera camera_
The camera profile of this event.
Definition: TrackerEvent.h:518
static EventRef createEvent(const unsigned int trackerId, const PinholeCamera &pinholeCamera)
Creates a new event reference object.
Definition: TrackerEvent.h:825
This class implements the base class for all component events.
Definition: TrackerEvent.h:107
ComponentEventSubType
Definition of individual component event sub-types.
Definition: TrackerEvent.h:114
@ CEST_ANALYSIS
An analysis sub-type event.
Definition: TrackerEvent.h:120
@ CEST_TRACKER_PROCESS
An tracker process sub-type event.
Definition: TrackerEvent.h:118
ComponentState eventState
The state of the component that sent this event.
Definition: TrackerEvent.h:177
ComponentState state() const
Returns the state of the component event.
Definition: TrackerEvent.h:719
std::string stateName() const
Returns the state of this event.
void setState(const ComponentState state)
Sets or changes the state of this component event.
Definition: TrackerEvent.h:724
std::string subtypeName() const override
Returns the sub-type name of this event object.
ComponentState
Definition of individual component states.
Definition: TrackerEvent.h:129
@ CS_STARTED
The component started.
Definition: TrackerEvent.h:131
@ CS_FAILED
The component failed.
Definition: TrackerEvent.h:135
@ CS_FINISHED
The component finished.
Definition: TrackerEvent.h:133
ComponentEvent(const unsigned int subtype, const unsigned int trackerId, const ComponentState state)
Creates a new component event object.
Definition: TrackerEvent.h:712
This class encapsulates the tracking pose data.
Definition: OfflinePose.h:41
This class implements the base class for all progress events.
Definition: TrackerEvent.h:286
unsigned int componentProgress() const
Returns the progress of a component in percent.
Definition: TrackerEvent.h:769
ProgressEvent(const unsigned int subtype, const unsigned int trackerId, const unsigned int componentProgress)
Creates a new progress event object.
Definition: TrackerEvent.h:762
unsigned int componentProgress_
The component progress in percent.
Definition: TrackerEvent.h:331
ProgressEventSubType
Definition of individual progress event sub-types.
Definition: TrackerEvent.h:293
@ PEST_ANALYSIS
An analysis sub-type event.
Definition: TrackerEvent.h:299
@ PEST_TRACKER_PROCESS
An tracker process sub-type event.
Definition: TrackerEvent.h:297
std::string subtypeName() const override
Returns the sub-type name of this event object.
This class is the base class for all state events.
Definition: TrackerEvent.h:439
StateEventSubType
Definition of individual state event sub-types.
Definition: TrackerEvent.h:446
@ SEST_TRACKER_POSES
A tracker poses sub-type event.
Definition: TrackerEvent.h:456
@ SEST_TRACKER_TRANSFORMATION
A tracker transformation sub-type event.
Definition: TrackerEvent.h:452
@ SEST_CAMERA_CALIBRATION
A camera calibration sub-type event.
Definition: TrackerEvent.h:450
@ SEST_TRACKER_POSE
A tracker pose sub-type event.
Definition: TrackerEvent.h:454
std::string subtypeName() const override
Returns the sub-type name of this event object.
StateEvent(const unsigned int subtype, const unsigned int trackerId)
Creates a new state event object.
Definition: TrackerEvent.h:807
This class implements the base class for all tracker events.
Definition: TrackerEvent.h:51
TrackerEvent(const unsigned int type, const unsigned int subtype, const unsigned int trackerId)
Creates a new tracker event object.
virtual std::string subtypeName() const =0
Returns the sub-type name of this event object.
unsigned int trackerId() const
Returns the unique id of the tracker that sent this event.
Definition: TrackerEvent.h:707
unsigned int trackerId_
The unique tracker id of the tracker that sent this event.
Definition: TrackerEvent.h:85
std::string typeName() const
Returns the type name of this event.
This class implements a tracker plane state event that provides the detected plane of a tracker.
Definition: TrackerEvent.h:670
static EventRef createEvent(const unsigned int trackerId, const Plane3 &plane)
Creates a new event reference object.
Definition: TrackerEvent.h:899
TrackerPlaneStateEvent(const unsigned int trackerId, const Plane3 &plane)
Creates a new plane state event object.
Definition: TrackerEvent.h:887
const Plane3 & plane() const
Returns the plane of this object.
Definition: TrackerEvent.h:894
const Plane3 plane_
The plane of this event.
Definition: TrackerEvent.h:697
This class implements a tracker pose state event that provides a tracker pose.
Definition: TrackerEvent.h:533
const OfflinePose & pose() const
Returns the pose of this event object.
Definition: TrackerEvent.h:837
TrackerPoseStateEvent(const unsigned int trackerId, const OfflinePose &pose)
Creates a new pose state event object.
Definition: TrackerEvent.h:830
static EventRef createEvent(const unsigned int trackerId, const OfflinePose &pose)
Creates a new event reference object.
Definition: TrackerEvent.h:842
OfflinePose pose_
The pose of this event.
Definition: TrackerEvent.h:560
This class implements a tracker poses state event that provides the all determined tracker poses.
Definition: TrackerEvent.h:575
static EventRef createEvent(const unsigned int trackerId, const OfflinePoses &poses)
Creates a new event reference object.
Definition: TrackerEvent.h:859
const OfflinePoses & poses() const
Returns the poses of this object.
Definition: TrackerEvent.h:854
TrackerPosesStateEvent(const unsigned int trackerId, const OfflinePoses &poses)
Creates a new poses state event object.
Definition: TrackerEvent.h:847
const OfflinePoses poses_
The poses of this event.
Definition: TrackerEvent.h:602
This class implements a component event for the entire tracker process.
Definition: TrackerEvent.h:192
static EventRef createEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event reference object.
Definition: TrackerEvent.h:735
TrackerProcessComponentEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event object.
Definition: TrackerEvent.h:729
This class implements a progress event for tracker processes.
Definition: TrackerEvent.h:346
TrackerProcessProgressEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new progress event object.
Definition: TrackerEvent.h:774
static EventRef createEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new event reference object.
Definition: TrackerEvent.h:780
This class implements a component event for the tracking components.
Definition: TrackerEvent.h:254
static EventRef createEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event reference object.
Definition: TrackerEvent.h:757
TrackingComponentEvent(const unsigned int trackerId, const ComponentState state)
Creates a new event object.
Definition: TrackerEvent.h:751
This class implements a progress event for tracking components.
Definition: TrackerEvent.h:408
static EventRef createEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new event reference object.
Definition: TrackerEvent.h:802
TrackingProgressEvent(const unsigned int trackerId, const unsigned int componentProgress)
Creates a new progress event object.
Definition: TrackerEvent.h:796
ObjectRef< Event > EventRef
Definition of an object reference holding an event object.
Definition: Event.h:23
SmartObjectRef< ComponentEvent, Event > ComponentEventRef
Definition of a smart object reference for component events.
Definition: TrackerEvent.h:185
SmartObjectRef< TrackerProcessComponentEvent, Event > TrackerProcessComponentEventRef
Definition of a smart object reference for tracker process events.
Definition: TrackerEvent.h:216
SmartObjectRef< StateEvent, Event > StateEventRef
Definition of a smart object reference for state events.
Definition: TrackerEvent.h:484
SmartObjectRef< AnalysisComponentEvent, Event > AnalysisComponentEventRef
Definition of a smart object reference for analysis component events.
Definition: TrackerEvent.h:247
SmartObjectRef< ProgressEvent, Event > ProgressEventRef
Definition of a smart object reference for progress events.
Definition: TrackerEvent.h:339
SmartObjectRef< TrackingProgressEvent, Event > TrackingProgressEventRef
Definition of a smart object reference for tracking progress events.
Definition: TrackerEvent.h:432
SmartObjectRef< AnalysisProgressEvent, Event > AnalysisProgressEventRef
Definition of a smart object reference for analysis progress events.
Definition: TrackerEvent.h:401
SmartObjectRef< TrackerEvent, Event > TrackerEventRef
Definition of a smart object reference for tracker event.
Definition: TrackerEvent.h:93
SmartObjectRef< TrackerPlaneStateEvent, Event > TrackerPlaneStateEventRef
Definition of a smart object reference for tracker plane state events.
Definition: TrackerEvent.h:705
SmartObjectRef< TrackerProcessProgressEvent, Event > TrackerProcessProgressEventRef
Definition of a smart object reference for tracker process progress events.
Definition: TrackerEvent.h:370
SmartObjectRef< TrackerTransformationStateEvent, Event > TrackerTransformationStateEventRef
Definition of a smart object reference for tracker transformation state events.
Definition: TrackerEvent.h:663
SmartObjectRef< TrackerPoseStateEvent, Event > TrackerPoseStateEventRef
Definition of a smart object reference for pose state events.
Definition: TrackerEvent.h:568
EventType
Definition of individual tracker event types.
Definition: TrackerEvent.h:35
SmartObjectRef< CameraCalibrationStateEvent, Event > CameraCalibrationStateEventRef
Definition of a smart object reference for camera calibration state events.
Definition: TrackerEvent.h:526
SmartObjectRef< TrackingComponentEvent, Event > TrackingComponentEventRef
Definition of a smart object reference for tracking component events.
Definition: TrackerEvent.h:278
ScopedEvent< TrackerEvent > ScopedEvent
Definition of a scoped event for tracker events.
Definition: TrackerEvent.h:99
SmartObjectRef< TrackerPosesStateEvent, Event > TrackerPosesStateEventRef
Definition of a smart object reference for tracker poses state events.
Definition: TrackerEvent.h:610
@ ET_COMPONENT
A component event.
Definition: TrackerEvent.h:39
@ ET_PROGRESS
A progress event.
Definition: TrackerEvent.h:41
@ ET_INVALID
An invalid event type.
Definition: TrackerEvent.h:37
@ ET_STATE
A state event for changed states.
Definition: TrackerEvent.h:43
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15