NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxTrackerConfiguration.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 CXTRACKERCONFIGURATION_H
13 #define CXTRACKERCONFIGURATION_H
14 
15 #include "cxResourceExport.h"
16 
17 #include "boost/shared_ptr.hpp"
18 #include <QStringList>
19 
21 
22 namespace cx
23 {
24 typedef boost::shared_ptr<class TrackerConfiguration> TrackerConfigurationPtr;
25 
33 class cxResource_EXPORT TrackerConfiguration
34 {
35 public:
37  {
38  QString mUid;
39  QString mName;
41  QString mTrackingSystemName;//Tracking system name (polaris, aurora, ...)
42  QStringList mTools;
43  QString mReferenceTool;
44  QString mTrackingSystemImplementation;//Tracking system implementation (igstk or openigtlink)
45  bool mApplyRefToTools;//Apply ref position to all tools for OpenIGTLink transforms
46  std::vector<cx::ConfigurationFileParser::ToolStructure> mToolList;
47  };
48  struct Tool
49  {
50  QString mUid; // absolute filename
51  QString mName; // User-friendly name
56  };
57 
58  virtual ~TrackerConfiguration();
59 
60  virtual QString getConfigurationApplicationsPath() = 0;
61  virtual void saveConfiguration(const Configuration& config) = 0;
62  virtual Configuration getConfiguration(QString uid) = 0;
63 
64  virtual QStringList getConfigurationsGivenApplication() = 0;
65  virtual QStringList getAllConfigurations() = 0;
66 
67  virtual QStringList getSupportedTrackingSystems() = 0;
68  virtual QStringList getToolsGivenFilter(QStringList applicationsFilter,
69  QStringList trackingsystemsFilter) = 0;
70  virtual QStringList getAllTools() = 0;
71  virtual QStringList getAllApplications() = 0;
72 
73  virtual Tool getTool(QString uid) = 0;
74  virtual bool verifyTool(QString uid) = 0;
75 
76  virtual QString getTrackingSystemImplementation() = 0;
77  virtual void setTrackingSystemImplementation(QString trackingSystemImplementation) = 0;
78 
79  virtual bool isNull() = 0;
80  static TrackerConfigurationPtr getNullObject();
81 
82 protected:
84 };
85 
86 } // namespace cx
87 
88 #endif // CXTRACKERCONFIGURATION_H
cx::TrackerConfiguration::Configuration::mApplyRefToTools
bool mApplyRefToTools
Definition: cxTrackerConfiguration.h:45
cx::TrackerConfiguration::Configuration::mReferenceTool
QString mReferenceTool
Definition: cxTrackerConfiguration.h:43
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::TrackerConfiguration
Definition: cxTrackerConfiguration.h:33
cx::TrackerConfiguration::Tool::mTrackingSystemName
QString mTrackingSystemName
Definition: cxTrackerConfiguration.h:52
cx::TrackerConfiguration::mTrackingSystemImplementation
QString mTrackingSystemImplementation
Definition: cxTrackerConfiguration.h:83
cx::TrackerConfiguration::Tool::mUid
QString mUid
Definition: cxTrackerConfiguration.h:50
cx::TrackerConfigurationPtr
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
Definition: cxTrackerConfiguration.h:24
cx::TrackerConfiguration::Configuration::mName
QString mName
Definition: cxTrackerConfiguration.h:39
cx::TrackerConfiguration::Configuration::mToolList
std::vector< cx::ConfigurationFileParser::ToolStructure > mToolList
Definition: cxTrackerConfiguration.h:46
cx::TrackerConfiguration::Tool::mPortNumber
int mPortNumber
Definition: cxTrackerConfiguration.h:55
cx::TrackerConfiguration::Configuration::mTrackingSystemName
QString mTrackingSystemName
Definition: cxTrackerConfiguration.h:41
cx::TrackerConfiguration::Configuration::mTrackingSystemImplementation
QString mTrackingSystemImplementation
Definition: cxTrackerConfiguration.h:44
cx::TrackerConfiguration::Configuration::mClinicalApplication
QString mClinicalApplication
Definition: cxTrackerConfiguration.h:40
cx::TrackerConfiguration::Tool::mPictureFilename
QString mPictureFilename
Definition: cxTrackerConfiguration.h:53
cx::TrackerConfiguration::Tool::mName
QString mName
Definition: cxTrackerConfiguration.h:51
cx::TrackerConfiguration::Tool::mIsReference
bool mIsReference
Definition: cxTrackerConfiguration.h:54
cx::TrackerConfiguration::Configuration::mTools
QStringList mTools
Definition: cxTrackerConfiguration.h:42
cx::TrackerConfiguration::Tool
Definition: cxTrackerConfiguration.h:48
cx::TrackerConfiguration::Configuration::mUid
QString mUid
absolute path and filename for the new config file
Definition: cxTrackerConfiguration.h:38
cxToolConfigurationParser.h
cx::TrackerConfiguration::Configuration
Definition: cxTrackerConfiguration.h:36