CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxFrameMetricWrapper.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 CXFRAMEMETRICWRAPPER_H_
13 #define CXFRAMEMETRICWRAPPER_H_
14 
15 #include "cxGuiExport.h"
16 
17 #include "cxFrameMetric.h"
18 #include "cxDataMetricWrappers.h"
19 #include "cxTransform3DWidget.h"
20 
21 namespace cx {
22 
23 /*
24  * cxFrameMetricWrapper.h
25  *
26  * \date Aug 23, 2013
27  * \author Ole Vegard Solberg, SINTEF
28  */
29 class cxGui_EXPORT FrameMetricWrapper : public MetricBase
30 {
31  Q_OBJECT
32 public:
33  explicit FrameMetricWrapper(VisServicesPtr services, FrameMetricPtr data);
34  virtual ~FrameMetricWrapper();
35  virtual QWidget* createWidget();
36  virtual QString getValue() const;
37  virtual DataMetricPtr getData() const;
38  virtual QString getArguments() const;
39  virtual QString getType() const;
40  virtual void update();
41 
42 private slots:
43  void moveToToolPosition();
44  void spaceSelected();
45  void frameWidgetChangedSlot();
46 private:
47  cx::FrameMetricPtr mData;
48  SpacePropertyPtr mSpaceSelector;
49  bool mInternalUpdate;
50  Transform3DWidget* mFrameWidget;
51 };
52 
53 } //namespace cx
54 #endif // CXFRAMEMETRICWRAPPER_H_
Widget for displaying and manipulating an affine matrix, i.e. a rotation+translation matrix...
boost::shared_ptr< class FrameMetric > FrameMetricPtr
Definition: cxFrameMetric.h:23
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< DataMetric > DataMetricPtr
Definition: cxDataMetric.h:73
boost::shared_ptr< class SpaceProperty > SpacePropertyPtr
Namespace for all CustusX production code.