Base class for data about actively tracked objects.
A TrackableResult represents the state of a particular Trackable at a particular moment in time.
The state information includes:
TrackableResult instances are typically retrieved from (and fully owned by) a State.
Public Types | |
enum | STATUS { NO_POSE, LIMITED, DETECTED, TRACKED, EXTENDED_TRACKED } |
The tracking status of the trackable. More... | |
enum | STATUS_INFO { NORMAL, UNKNOWN, INITIALIZING, RELOCALIZING, EXCESSIVE_MOTION, INSUFFICIENT_FEATURES, INSUFFICIENT_LIGHT, NO_DETECTION_RECOMMENDING_GUIDANCE, WRONG_SCALE } |
Information on the tracking status. More... | |
Public Member Functions | |
virtual Type | getType () const =0 |
Get the Type of this instance (typically a subclass of TrackableResult). More... | |
virtual bool | isOfType (Type type) const =0 |
Check if this instance is of the given Type or any of its subclasses. More... | |
virtual double | getTimeStamp () const =0 |
Get the time stamp for this result. More... | |
virtual STATUS | getStatus () const =0 |
Get the tracking status of the Trackable. More... | |
virtual STATUS_INFO | getStatusInfo () const =0 |
Get further information about the tracking status of the Trackable. More... | |
virtual const Trackable & | getTrackable () const =0 |
Get the Trackable that participated in generating this result. More... | |
virtual const Matrix34F & | getPose () const =0 |
Get the pose of the associated Trackable. More... | |
virtual | ~TrackableResult () |
Static Public Member Functions | |
static Type | getClassType () |
Get the Type for class 'TrackableResult'. More... | |
enum STATUS |
The tracking status of the trackable.
enum STATUS_INFO |
Information on the tracking status.
|
inlinevirtual |
|
static |
Get the Type for class 'TrackableResult'.
|
pure virtual |
Get the Type of this instance (typically a subclass of TrackableResult).
|
pure virtual |
Check if this instance is of the given Type or any of its subclasses.
|
pure virtual |
Get the time stamp for this result.
Get the time stamp representing the time that this result was observed, in seconds since application startup time. Typically this is the same as the timestamp of the Frame where this TrackableResult was observed, unless the Trackable uses a predictive model or non-camera-based tracking.
The time stamp can be used to compare different TrackableResult instances for the same Trackable over time.
|
pure virtual |
Get the tracking status of the Trackable.
You can use the returned STATUS to help determine the quality and characteristics of the tracking process that was when creating this TrackableResult.
|
pure virtual |
Get further information about the tracking status of the Trackable.
|
pure virtual |
Get the Trackable that participated in generating this result.
Implemented in ImageTargetResult, AreaTargetResult, VuMarkTargetResult, ObjectTargetResult, CylinderTargetResult, DeviceTrackableResult, ModelTargetResult, MultiTargetResult, and AnchorResult.
|
pure virtual |
Get the pose of the associated Trackable.
Get the pose of the Trackable at the moment in time when this TrackableResult was observed (or predicted).
The pose represents a transform from a target coordinate system (i.e. the coordinate system of the Trackable) to the world coordinate system.
In other words, if this TrackableResult comes from an ObjectTracker and you render 3D geometry using
then
The result of this is that your application's view will contain geometry that appears to be at the same place in the view as the Trackable. (Note that depending on the type of Tracker there may be some drift under certain conditions.)