CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxManualToolAdapter.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 CXMANUALTOOLADAPTER_H_
13 #define CXMANUALTOOLADAPTER_H_
14 
15 #include "cxResourceExport.h"
16 
17 #include "cxManualTool.h"
18 
19 namespace cx
20 {
21 
34 class cxResource_EXPORT ManualToolAdapter : public ManualTool
35 {
36  Q_OBJECT
37 public:
38  explicit ManualToolAdapter(QString uid);
39  explicit ManualToolAdapter(ToolPtr base);
40  virtual ~ManualToolAdapter();
41 
42  virtual std::set<Type> getTypes() const;
43  virtual vtkPolyDataPtr getGraphicsPolyData() const;
44  virtual bool isCalibrated() const;
45  virtual ProbePtr getProbe() const;
46 
47  virtual Transform3D getCalibration_sMt() const;
48  virtual std::map<QString, Vector3D> getReferencePoints() const;
49 
50  void setBase(ToolPtr base);
51 
52  virtual double getTooltipOffset() const;
53  virtual void setTooltipOffset(double val);
54 
55  void startEmittingContinuousPositions(int msecBetweenPositions);
56 private slots:
57  void emitPosition();
58 private:
59  ToolPtr mBase;
60 };
61 
62 typedef boost::shared_ptr<ManualToolAdapter> ManualToolAdapterPtr;
63 
64 }
65 
66 #endif /* CXMANUALTOOLADAPTER_H_ */
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
A manual tool that is unconnected to any hardware.
Definition: cxManualTool.h:36
boost::shared_ptr< Probe > ProbePtr
Definition: cxProbe.h:72
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< class ManualToolAdapter > ManualToolAdapterPtr
Adapter class for ManualTool.A ManualToolAdapter inherits from manual tool, but also contains a cx::T...
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr