CustusX  2021.09.21-dev+develop.e3cd0
An IGT application
cxLandmarkListener.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 CXLANDMARKLISTENER_H
13 #define CXLANDMARKLISTENER_H
14 
15 #include "org_custusx_registration_method_landmarkExport.h"
16 
17 #include <QObject>
18 #include <boost/shared_ptr.hpp>
19 #include "cxRegServices.h"
20 
21 namespace cx
22 {
23 
24 typedef boost::shared_ptr<class LandmarkListener> LandmarkListenerPtr;
25 typedef boost::shared_ptr<class ImageLandmarksSource> ImageLandmarksSourcePtr;
26 typedef boost::shared_ptr<class Data> DataPtr;
27 
28 
29 class org_custusx_registration_method_landmark_EXPORT LandmarkListener : public QObject
30 {
31 Q_OBJECT
32 
33 public:
36  void setLandmarkSource(DataPtr data);
37  DataPtr getLandmarkSource();
38  void useOnlyOneSourceUpdatedFromOutside(bool useOnlyOneSourceUpdatedFromOutside = true);
39  void useI2IRegistration(bool useI2I = true);
40 public slots:
41  void showRep();
42  void hideRep();
43 private slots:
44  void updateFixed();
45  void updateMoving();
46 private:
47  RegServicesPtr mServices;
48  bool mImage2Image;
49  bool mUseOnlyOneSourceUpdatedFromOutside;
50  ImageLandmarksSourcePtr mFixedLandmarkSource;
51  ImageLandmarksSourcePtr mMovingLandmarkSource;
52 };
53 
54 } //cx
55 
56 #endif // CXLANDMARKLISTENER_H
boost::shared_ptr< class LandmarkListener > LandmarkListenerPtr
boost::shared_ptr< class Data > DataPtr
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
boost::shared_ptr< class ImageLandmarksSource > ImageLandmarksSourcePtr
Namespace for all CustusX production code.