CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxTrackingSystemService.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXTRACKINGSYSTEMSERVICE_H
13 #define CXTRACKINGSYSTEMSERVICE_H
14 
15 #include "cxResourceExport.h"
16 #include "cxTool.h"
17 
18 #define TrackingSystemService_iid "cx::TrackingSystemService"
19 
20 namespace cx
21 {
22 
23 typedef boost::shared_ptr<class TrackingSystemService> TrackingSystemServicePtr;
24 typedef boost::shared_ptr<class TrackerConfiguration> TrackerConfigurationPtr;
25 
35 class cxResource_EXPORT TrackingSystemService : public QObject
36 {
37  Q_OBJECT
38 public:
41 
42  virtual QString getUid() const = 0;
43  virtual Tool::State getState() const;
44  virtual void setState(const Tool::State val) = 0;
45  virtual std::vector<ToolPtr> getTools() = 0;
46  virtual TrackerConfigurationPtr getConfiguration() = 0;
47  virtual ToolPtr getReference() = 0;
48 
49  virtual void setConfigurationFile(QString configurationFile);
50  virtual void setLoggingFolder(QString loggingFolder);
51 
52  virtual void resetTimeSynchronization() {};
53 
54 signals:
55  void stateChanged();
56  void updateTrackingSystemImplementation(QString trackingSystemImplementation);
57 
58 protected slots:
59  virtual void deconfigure() {}
60  virtual void configure() {}
61 
62  virtual void initialize();
63  virtual void uninitialize();
64  virtual void startTracking();
65  virtual void stopTracking();
66 protected:
69  QString mLoggingFolder;
70 
71  virtual bool isConfigured() const;
72  virtual bool isInitialized() const;
73  virtual bool isTracking() const;
74 
75  void internalSetState(Tool::State val);
76 };
77 } //namespace cx
79 
80 #endif // CXTRACKINGSYSTEMSERVICE_H
virtual void deconfigure()
deconfigures the software
QString mConfigurationFilePath
path to the configuration file
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
QString mLoggingFolder
path to where logging should be saved
Tracking System Service.
#define TrackingSystemService_iid
virtual void configure()
sets up the software
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr
boost::shared_ptr< class TrackingSystemService > TrackingSystemServicePtr