12 #ifndef CXTRACKINGSERVICE_H 13 #define CXTRACKINGSERVICE_H 15 #include "cxResourceExport.h" 18 #include <boost/shared_ptr.hpp> 22 #define TrackingService_iid "cx::TrackingService" 30 typedef boost::shared_ptr<class Tool>
ToolPtr;
54 typedef std::map<QString, ToolPtr>
ToolMap;
61 virtual ToolPtr getTool(
const QString& uid) = 0;
62 virtual ToolPtr getActiveTool() = 0;
63 virtual void setActiveTool(
const QString& uid) = 0;
64 virtual void clearActiveTool() = 0;
65 virtual ToolPtr getFirstProbe() = 0;
67 virtual ToolPtr getReferenceTool()
const = 0;
68 virtual ToolPtr getManualTool() = 0;
70 virtual ToolMap getTools() = 0;
72 virtual bool isPlaybackMode()
const = 0;
73 virtual void setPlaybackMode(PlaybackTimePtr controller) = 0;
75 virtual SessionToolHistoryMap getSessionHistory(
double startTime,
double stopTime) = 0;
76 virtual void runDummyTool(DummyToolPtr tool) = 0;
77 virtual std::vector<TrackerConfigurationPtr> getConfigurations() = 0;
79 virtual TrackerConfigurationPtr getConfiguration() = 0;
80 virtual void setCurrentTrackingSystemImplementation(QString trackingSystemImplementation) = 0;
81 virtual QString getCurrentTrackingSystemImplementation() = 0;
83 virtual void installTrackingSystem(TrackingSystemServicePtr system) = 0;
84 virtual void unInstallTrackingSystem(TrackingSystemServicePtr system) = 0;
85 virtual std::vector<TrackingSystemServicePtr> getTrackingSystems() = 0;
86 virtual void resetTimeSynchronization() = 0;
88 virtual bool isNull() = 0;
89 static TrackingServicePtr getNullObject();
93 void activeToolChanged(
const QString& uId);
100 #endif // CXTRACKINGSERVICE_H virtual ~TrackingService()
std::map< ToolPtr, TimedTransformMap > SessionToolHistoryMap
boost::shared_ptr< class TrackingService > TrackingServicePtr
boost::shared_ptr< class ManualTool > ManualToolPtr
boost::shared_ptr< class Landmarks > LandmarksPtr
boost::shared_ptr< class PlaybackTime > PlaybackTimePtr
boost::shared_ptr< class DummyTool > DummyToolPtr
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
#define TrackingService_iid
Service providing tools and tracking systems.
std::map< QString, ToolPtr > ToolMap
std::map< double, Transform3D > TimedTransformMap
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr
boost::shared_ptr< class TrackingSystemService > TrackingSystemServicePtr