Object Tracker
The Object Tracker loads the map file and renders 3D object on it.
Starting / Stopping the Tracker
Using the Tracking Information
Setting a Map
Adding / Replacing a Map
Starting / Stopping the Tracker
To start / stop Tracker after loading the map, refer to the following code.
>ObjectTrackerViewController.mm
- (void)resumeAR
{
...
TrackerManager::getInstance()->startTracker(TRACKER_TYPE_OBJECT);
}
- (void)pauseAR
{
TrackerManager::getInstance()->stopTracker();
...
}
Using the Tracking Information
To use the Tracking information, refer to the following code.
>ObjectTrackerViewController.mm
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
...
maxstAR::ITrackingResult *result = &TrackerManager::getInstance()->getTrackingResult();
for (int i = 0; i < (int)result->getCount(); i++)
{
maxstAR::ITrackable *trackable = result->getTrackable(i);
gl_helper::Mat4 pose = trackable->getPose();
pose = projectionMatrix * pose;
texturedCube->setTransform(pose);
texturedCube->setPosition(0.0f, 0.0f, -0.0005f);
texturedCube->setScale(0.4f, 0.4f, 0.001f);
texturedCube->draw();
}
...
}
Setting a Map
By calling addTrackerData () to register the map file and calling loadTrackerData (), Space can be tracked. To set a map, refer to the following code.
>ObjectTrackerViewController.mm
- (void)startEngine
{
...
TrackerManager::getInstance()->addTrackerData(std::string([objectTrackerMapPath UTF8String]));
TrackerManager::getInstance()->loadTrackerData();
}
Adding / Replacing a Map
Create a map file refer to Documentation > Map Manager.
Copy the received map file to the desired path.
If you have an existing map file, call addTrackerData () and loadTrackerData () after calling TrackerManager::getInstance()->removeTrackerData().
