CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxRecordSessionSelector.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 CXRECORDSESSIONSELECTOR_H_
12 #define CXRECORDSESSIONSELECTOR_H_
13 
14 #include <QPushButton>
15 #include <QDomElement>
16 #include "cxForwardDeclarations.h"
17 #include "cxXmlOptionItem.h"
18 #include "cxTool.h"
19 #include "cxVisServices.h"
20 #include "org_custusx_acquisition_Export.h"
21 
22 namespace cx
23 {
24 class WidgetObscuredListener;
25 typedef boost::shared_ptr<class Acquisition> AcquisitionPtr;
26 typedef boost::shared_ptr<class StringPropertySelectMesh> StringPropertySelectMeshPtr;
27 typedef boost::shared_ptr<class ToolRep3D> ToolRep3DPtr;
28 typedef boost::shared_ptr<class RecordSession> RecordSessionPtr;
30 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
31 //typedef boost::shared_ptr<class BronchoscopyRegistration> BronchoscopyRegistrationPtr;
32 typedef std::map<QString, ToolPtr> ToolMap;
33 typedef boost::shared_ptr<class StringPropertySelectTool> StringPropertySelectToolPtr;
34 typedef boost::shared_ptr<class SelectRecordSession> SelectRecordSessionPtr;
35 
44 class org_custusx_acquisition_EXPORT SelectRecordSession: public QObject
45 {
46  Q_OBJECT
47 
48 public:
50  AcquisitionServicePtr acquisitionService,
51  VisServicesPtr services);
52  virtual ~SelectRecordSession();
53 
54  void setTool(ToolPtr tool);
55  ToolPtr getTool();
56  void setVisible(bool on);
57  TimedTransformMap getRecordedTrackerData_prMt();
58  StringPropertyPtr getSessionSelector() { return mSessionSelector; }
59 
60 private slots:
61 
62  void recordedSessionsChanged();
63 private:
64  VisServicesPtr mServices;
65  AcquisitionServicePtr mAcquisitionService;
66  XmlOptionFile mOptions;
67  ToolPtr mCurrentTracedTool;
68 
69  StringPropertyPtr mSessionSelector;
70  ToolPtr mToolOverride;
71  bool mVisible;
72 
73  void initSessionSelector();
74  ToolRep3DPtr getToolRepIn3DView(ToolPtr tool);
75  void showSelectedRecordingInView();
76  void clearTracer();
77  RecordSessionPtr getSession();
78  void warnIfNoTrackingDataInSession();
79  ToolPtr findToolContainingMostDataForSession(std::map<QString,ToolPtr> tools, RecordSessionPtr session);
80  void updateHelpText();
81 };
82 
83 } //namespace cx
84 
85 
86 #endif // CXRECORDSESSIONSELECTOR_H_
boost::shared_ptr< class AcquisitionService > AcquisitionServicePtr
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
StringPropertyPtr getSessionSelector()
boost::shared_ptr< class Acquisition > AcquisitionPtr
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
boost::shared_ptr< class StringProperty > StringPropertyPtr
boost::shared_ptr< class RecordSession > RecordSessionPtr
std::map< QString, ToolPtr > ToolMap
boost::shared_ptr< class SelectRecordSession > SelectRecordSessionPtr
boost::shared_ptr< class ToolRep3D > ToolRep3DPtr
boost::shared_ptr< class StringPropertySelectMesh > StringPropertySelectMeshPtr
Helper class for xml files used to store ssc/cx data.
std::map< double, Transform3D > TimedTransformMap
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr