NorMIT-nav  18.04
An IGT application
cxRegistrationApplicator.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 CXREGISTRATIONAPPLICATOR_H
13 #define CXREGISTRATIONAPPLICATOR_H
14 
15 #include "org_custusx_registration_Export.h"
16 #include <QDateTime>
18 #include <map>
19 
20 namespace cx
21 {
22 typedef boost::shared_ptr<class Data> DataPtr;
23 
32 class org_custusx_registration_EXPORT RegistrationApplicator
33 {
34 public:
35 
36  RegistrationApplicator(const std::map<QString, DataPtr>& source);
38 
39  virtual void updateRegistration(QDateTime oldTime, RegistrationTransform deltaTransform);
40 
41 private:
42  std::map<QString, DataPtr> mSource;
43  void changeParentSpace(QDateTime oldTime, std::vector<DataPtr> data, QString oldParentSpace, ParentSpace newParentSpace);
44  void updateTransform(QDateTime oldTime, std::vector<DataPtr> data, RegistrationTransform delta_pre_rMd);
45  void changeParentSpace(QDateTime oldTime, DataPtr data, ParentSpace newParentSpace);
46  QString generateNewSpaceUid() const;
47 };
48 
49 } // namespace cx
50 
51 
52 #endif // CXREGISTRATIONAPPLICATOR_H
Definition of a parent space event.
boost::shared_ptr< class Data > DataPtr
A registration event and its transform.
Namespace for all CustusX production code.