CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxProbe.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 
13 #ifndef CXPROBE_H_
14 #define CXPROBE_H_
15 
16 #include "cxResourceExport.h"
17 
18 #include <QObject>
19 #include <boost/weak_ptr.hpp>
20 #include "cxProbeDefinition.h"
21 #include "cxForwardDeclarations.h"
22 
23 namespace cx
24 {
32 class cxResource_EXPORT Probe: public QObject
33 {
34  Q_OBJECT
35 public:
36  virtual ~Probe()
37  {
38  }
39  virtual bool isValid() const = 0;
40  virtual void addXml(QDomNode& dataNode) = 0;
41  virtual void parseXml(QDomNode& dataNode) = 0;
42 
43  virtual QStringList getConfigIdList() const = 0;
44  virtual QString getConfigName(QString uid) = 0;
45  virtual QString getConfigId() const = 0;
46  virtual QString getConfigurationPath() const = 0;
47 
48  virtual void removeCurrentConfig() = 0;
49  virtual void saveCurrentConfig(QString uid, QString name) = 0;
50 
51  virtual void applyNewConfigurationWithId(QString uid) = 0;
52  virtual void setTemporalCalibration(double val) = 0;
53  virtual void setSoundSpeedCompensationFactor(double val) = 0;
54  virtual void setProbeDefinition(ProbeDefinition probeDefinition) = 0;
55  virtual void setRTSource(VideoSourcePtr source) = 0;
56  virtual void removeRTSource(VideoSourcePtr source) = 0;
57 
58  virtual void setActiveStream(QString uid) = 0;
59  virtual QString getActiveStream() const = 0;
60 
61  virtual QStringList getAvailableVideoSources() = 0;
62  virtual VideoSourcePtr getRTSource(QString uid = "active") const = 0;
63  virtual ProbeDefinition getProbeDefinition(QString uid = "active") const = 0;
64  virtual ProbeSectorPtr getSector(QString uid = "active") = 0;
65 
66 signals:
67  void sectorChanged();
68  void activeConfigChanged();
69  void videoSourceAdded(VideoSourcePtr source);
70 };
71 
72 typedef boost::shared_ptr<Probe> ProbePtr;
73 typedef boost::weak_ptr<Probe> ProbeWeakPtr;
74 
75 }//namespace cx
76 
77 #endif /* CXPROBE_H_ */
virtual ~Probe()
Definition: cxProbe.h:36
boost::shared_ptr< Probe > ProbePtr
Definition: cxProbe.h:72
US Probe interface.
Definition: cxProbe.h:32
boost::weak_ptr< Probe > ProbeWeakPtr
Definition: cxProbe.h:73
boost::shared_ptr< class VideoSource > VideoSourcePtr
boost::shared_ptr< class ProbeSector > ProbeSectorPtr
Definition of characteristics for an Ultrasound Probe Sector.
Namespace for all CustusX production code.