C++ Java Unity
C++ Reference
ObjectTracker Class Referenceabstract

Detailed Description

A type of Tracker that tracks objects in the real world.

An ObjectTracker tracks all target types that inherit from ObjectTarget (for a full list, refer to the inheritance tree diagram for ObjectTarget).

The data for these Trackable instances is stored in DataSet instances, which are owned and managed by the ObjectTracker.

The ObjectTracker class provides methods for creating, activating and deactivating DataSets.

Note
Calls to activateDataSet() and deactivateDataSet() should be avoided while the ObjectTracker is actively processing a frame, as such calls will block until the ObjectTracker has finished.

If you do need to call these methods during execution, the suggested way of doing so is via the UpdateCallback mechanism, as the callback is done at a point where the ObjectTracker is guaranteed to be idle. Alternatively, the ObjectTracker can be explicitly stopped and then restarted. However this is a very expensive operation.

Inheritance diagram for ObjectTracker:
Tracker NonCopyable

Public Member Functions

virtual DataSetcreateDataSet ()=0
 Create an empty DataSet. More...
 
virtual bool destroyDataSet (DataSet *dataset)=0
 Destroy the given DataSet and release allocated resources. More...
 
virtual bool activateDataSet (DataSet *dataset)=0
 Activate the given DataSet. More...
 
virtual bool deactivateDataSet (DataSet *dataset)=0
 Deactivate the given DataSet. More...
 
virtual DataSetgetActiveDataSet (const int idx)=0
 Get a specific active DataSet. (DEPRECATED) More...
 
virtual int getActiveDataSetCount () const =0
 Get the number of currently active DataSets. (DEPRECATED) More...
 
virtual List< DataSetgetActiveDataSets ()=0
 Provides access to the list of currently active active datasets. More...
 
virtual ImageTargetBuildergetImageTargetBuilder ()=0
 Get the ImageTargetBuilder for the current scene. More...
 
virtual TargetFindergetTargetFinder ()=0
 Get the TargetFinder for the current scene. More...
 
- Public Member Functions inherited from Tracker
virtual Type getType () const =0
 Get the Type of this instance (may be a subclass of Tracker). More...
 
virtual bool isOfType (Type type) const =0
 Get whether this Tracker instance's type equals or has been derived from the given type. More...
 
virtual bool start ()=0
 Start the Tracker. More...
 
virtual void stop ()=0
 Stop the Tracker. More...
 
virtual ~Tracker ()
 

Static Public Member Functions

static Type getClassType ()
 Returns the Type for class 'ObjectTracker'. More...
 
- Static Public Member Functions inherited from Tracker
static Type getClassType ()
 Get the Type for class 'Tracker'. More...
 

Member Function Documentation

static Type getClassType ( )
static

Returns the Type for class 'ObjectTracker'.

virtual DataSet* createDataSet ( )
pure virtual

Create an empty DataSet.

Returns
the new instance on success, NULL otherwise.

Use destroyDataSet() to destroy a DataSet that is no longer needed.

virtual bool destroyDataSet ( DataSet dataset)
pure virtual

Destroy the given DataSet and release allocated resources.

Returns
true on success, or false if the DataSet is active.
virtual bool activateDataSet ( DataSet dataset)
pure virtual

Activate the given DataSet.

Returns
true if the DataSet was successfully activated, otherwise false (check application log for failure details0.
Note
Activating a DataSet during live processing can be a blocking operation. To avoid this, call activateDataSet via the UpdateCallback mechanism (which guarantees that the ObjectTracker will be idle), or explicitly stop the ObjectTracker first, and then start it again when finished.
virtual bool deactivateDataSet ( DataSet dataset)
pure virtual

Deactivate the given DataSet.

Returns
true if the DataSet was successfully deactivated, otherwise false (e.g. because the DataSet is not currently active) (check application log for failure details).
Note
Deactivating a DataSet during live processing can be a blocking operation. To avoid this, call deactivateDataSet via the UpdateCallback mechanism (which guarantees that the ObjectTracker will be idle), or explicitly stop the ObjectTracker first, and then start it again when finished.
virtual DataSet* getActiveDataSet ( const int  idx)
pure virtual

Get a specific active DataSet. (DEPRECATED)

Parameters
idxThe index of the active DataSet to get, in the range 0..getActiveDataSetCount()-1.
Returns
The active DataSet with the given index, or NULL if the index is out of range.
Deprecated:
This API has been deprecated. It will be removed in an upcoming Vuforia release. Use the getActiveDataSets() API instead.
virtual int getActiveDataSetCount ( ) const
pure virtual

Get the number of currently active DataSets. (DEPRECATED)

Deprecated:
This API has been deprecated. It will be removed in an upcoming Vuforia release. Use the getActiveDataSets() API instead.
virtual List<DataSet> getActiveDataSets ( )
pure virtual

Provides access to the list of currently active active datasets.

virtual ImageTargetBuilder* getImageTargetBuilder ( )
pure virtual

Get the ImageTargetBuilder for the current scene.

Returns
The ImageTargetBuilder that should be used if you want to generate ImageTargets at runtime from the camera input.
virtual TargetFinder* getTargetFinder ( )
pure virtual

Get the TargetFinder for the current scene.

Parameters
typeThe type of the TargetFinder to be returned
Returns
The TargetFinder that should be used if you want to retrieve targets via cloud-based recognition.