Loading...
Searching...
No Matches
minimal.cpp
#include <thread>
#include <chrono>
#include "pstsdk_cpp.h"
#include "TrackerExceptions.h"
/*
* Implementation of the PSTech::pstsdk::Listener class to receive tracking data.
* The OnTrackerData() callback function receives the data as soon as it becomes
* available and prints the tracking target pose to the command line.
*/
class MyListener : public PSTech::pstsdk::Listener
{
virtual void OnTrackerData(const PSTech::pstsdk::TrackerData& td) override
{
// Do something with the tracker data in td
}
public:
virtual ~MyListener() override
{
// Unregistering listener before destruction to prevent unwanted behavior
PSTech::pstsdk::Tracker::RemoveTrackerListener(this);
}
} listener;
int main(int argc, char *argv[])
{
// Implement error handling of PSTech::TrackerException exceptions to prevent
// improper PST Tracker shutdown on errors.
try
{
// Create an instance of the Tracker object using the default configuration path and file names.
#ifdef WIN32
PSTech::pstsdk::Tracker pst;
#else
// On Linux, specify the type of grabber that needs to be used as the last parameter:
// "basler_ace" for PST HD or "basler_dart" for PST Pico
PSTech::pstsdk::Tracker pst("","config.cfg","models.db",argv[1]);
#endif
// Register the listener object to the tracker server.
PSTech::pstsdk::Tracker::AddTrackerListener(&listener);
// Start the tracker server.
pst.Start();
// Wait for 10 seconds, allowing for the detection of tracking targets.
std::this_thread::sleep_for(std::chrono::seconds(10));
}
catch (const PSTech::TrackerException &e)
{
// Do something with the error.
}
// Make sure that the connection to the PST Tracker is shut down properly.
PSTech::pstsdk::Tracker::Shutdown();
return 0;
}
TrackerExceptions.h
PSTech::TrackerException
Definition TrackerExceptions.h:54
PSTech::pstsdk::Listener
Abstract listener class for receiving tracking information and tracking mode updates.
Definition pstsdk_cpp.h:38
PSTech::pstsdk::Listener::OnTrackerData
virtual void OnTrackerData(const TrackerData &data)
Callback function receiving tracking information from the tracker.
Definition pstsdk_cpp.h:49
PSTech::pstsdk::Tracker
Main PST SDK class implementing tracker communication.
Definition pstsdk_cpp.h:101
PSTech::pstsdk::Tracker::Start
void Start()
Start tracking.
PSTech::pstsdk::Tracker::Shutdown
static void Shutdown()
Shutdown the tracking system, stopping tracking.
PSTech::pstsdk::Tracker::AddTrackerListener
static void AddTrackerListener(Listener *listener)
Add a listener for receiving tracker data and tracking mode updates.
PSTech::pstsdk::Tracker::RemoveTrackerListener
static void RemoveTrackerListener(Listener *listener)
Remove a listener for receiving tracker data and tracking mode updates.
pstsdk_cpp.h
PSTech::pstsdk::TrackerData
Tracking information retrieved from tracker.
Definition PstTypes.h:173