NorMIT-nav  18.04
An IGT application
cxRMPCFromPointerWidget.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 #ifndef CXRMPCFROMPOINTERWIDGET_H
12 #define CXRMPCFROMPOINTERWIDGET_H
13 
14 #include <QPushButton>
15 #include <QDomElement>
17 #include "cxForwardDeclarations.h"
18 #include "cxXmlOptionItem.h"
21 
22 namespace cx
23 {
24 class WidgetObscuredListener;
25 class RecordTrackingWidget;
26 class ICPWidget;
27 typedef boost::shared_ptr<class Acquisition> AcquisitionPtr;
28 typedef boost::shared_ptr<class StringPropertySelectMesh> StringPropertySelectMeshPtr;
29 typedef boost::shared_ptr<class ToolRep3D> ToolRep3DPtr;
30 typedef boost::shared_ptr<class RecordSessionWidget> RecordSessionWidgetPtr;
31 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
32 //typedef boost::shared_ptr<class BronchoscopyRegistration> BronchoscopyRegistrationPtr;
33 typedef std::map<QString, ToolPtr> ToolMap;
34 typedef boost::shared_ptr<class StringPropertySelectTool> StringPropertySelectToolPtr;
35 typedef boost::shared_ptr<class SeansVesselReg> SeansVesselRegPtr;
36 typedef boost::shared_ptr<class MeshInView> MeshInViewPtr;
37 typedef boost::shared_ptr<class SpaceListener> SpaceListenerPtr;
38 
47 {
48  Q_OBJECT
49 
50 public:
51  RMPCFromPointerWidget(RegServicesPtr services, QWidget *parent);
53  virtual QString defaultWhatsThis() const;
54 
55 protected:
56  virtual void initializeRegistrator();
57  virtual void inputChanged();
58  virtual void applyRegistration(Transform3D delta);
59  virtual void onShown();
60  virtual void setup();
61 
62  virtual double getDefaultAutoLTS() const { return false; }
63 
64 private:
65  void queuedAutoRegistration();
66  void connectAutoRegistration();
67  MeshPtr getTrackerDataAsMesh();
68  QVBoxLayout* createVBoxInGroupBox(QVBoxLayout* parent, QString header);
69 
71  RecordTrackingWidget* mRecordTrackingWidget;
72 
73  SpaceListenerPtr mSpaceListenerMoving;
74  SpaceListenerPtr mSpaceListenerFixed;
75 };
76 
77 } //namespace cx
78 
79 #endif // CXRMPCFROMPOINTERWIDGET_H
Register a point cloud to a surface.
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
virtual void applyRegistration(Transform3D delta)
virtual double getDefaultAutoLTS() const
boost::shared_ptr< class StringPropertyRegistrationFixedImage > StringPropertyRegistrationFixedImagePtr
boost::shared_ptr< class Acquisition > AcquisitionPtr
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
RMPCFromPointerWidget(RegServicesPtr services, QWidget *parent)
boost::shared_ptr< class RecordSessionWidget > RecordSessionWidgetPtr
std::map< QString, ToolPtr > ToolMap
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
virtual QString defaultWhatsThis() const
boost::shared_ptr< class SpaceListener > SpaceListenerPtr
boost::shared_ptr< class ToolRep3D > ToolRep3DPtr
boost::shared_ptr< class Mesh > MeshPtr
boost::shared_ptr< class StringPropertySelectMesh > StringPropertySelectMeshPtr
boost::shared_ptr< class SeansVesselReg > SeansVesselRegPtr
boost::shared_ptr< class MeshInView > MeshInViewPtr
Namespace for all CustusX production code.