12 #ifndef CXTRACKINGIMPLSERVICE_H_
13 #define CXTRACKINGIMPLSERVICE_H_
15 #include "org_custusx_core_tracking_Export.h"
27 class ctkPluginContext;
79 virtual bool isPlaybackMode()
const;
82 virtual ToolPtr getTool(
const QString& uid);
84 virtual ToolPtr getActiveTool();
85 virtual void setActiveTool(
const QString& uid);
86 virtual void clearActiveTool();
88 virtual ToolPtr getReferenceTool()
const;
90 virtual ToolPtr getManualTool();
95 virtual ToolPtr getFirstProbe();
98 virtual std::vector<TrackerConfigurationPtr> getConfigurations();
101 virtual QString getCurrentTrackingSystemImplementation();
105 virtual std::vector<TrackingSystemServicePtr> getTrackingSystems();
106 virtual void resetTimeSynchronization();
109 virtual void setCurrentTrackingSystemImplementation(QString trackingSystemImplementation);
114 void globalConfigurationFileChangedSlot(QString key);
115 void onSystemStateChanged();
116 void activeCheckSlot();
117 void onTooltipOffset(
double val);
119 void onSessionChanged();
120 void onSessionCleared();
121 void onSessionLoad(QDomElement& node);
122 void onSessionSave(QDomElement& node);
125 void listenForTrackingSystemServices(ctkPluginContext *context);
131 void rebuildCachedTools();
132 void initializeManualTool();
133 void setConfigurationFile(QString configurationFile);
134 void resetTrackingPositionFilters();
136 void imbueManualToolWithRealProperties();
138 bool manualToolHasMostRecentTimestamp();
139 std::vector<ToolPtr> getVisibleTools();
141 void addXml(QDomNode& parentNode);
142 void parseXml(QDomNode& dataNode);
143 virtual void savePositionHistory();
144 virtual void loadPositionHistory();
146 QString getLoggingFolder();
154 double mLastLoadPositionHistory;
156 std::vector<TrackingSystemServicePtr> mTrackingSystems;
158 ctkPluginContext *mContext;
161 double mToolTipOffset;
163 boost::shared_ptr<ServiceTrackerListener<TrackingSystemService> > mServiceListener;
164 QString mTrackingSystemImplementation;