NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxNavigation.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 CXNAVIGATION_H
12 #define CXNAVIGATION_H
13 
14 #include "cxResourceVisualizationExport.h"
15 
16 #include "cxDefinitions.h"
17 #include "cxForwardDeclarations.h"
18 #include "cxVector3D.h"
19 #include "cxViewGroupData.h"
20 
21 namespace cx
22 {
23 typedef boost::shared_ptr<class VisServices> VisServicesPtr;
24 
29 class cxResourceVisualization_EXPORT Navigation
30 {
31 public:
32  enum VIEW_TYPE { v2D = 0x01, v3D=0x02, vBOTH=0x03 };
34  void centerToTooltip();
35  void centerToPosition(Vector3D p_r, QFlags<VIEW_TYPE> viewType=vBOTH);
36 
37  void centerToDataInActiveViewGroup(DataViewProperties properties=DataViewProperties::createFull());
38  void centerToDataInViewGroup(ViewGroupDataPtr group, DataViewProperties properties=DataViewProperties::createFull());
39 private:
40  void moveManualToolToPosition(Vector3D& p_r);
41  Vector3D findDataCenter(const std::vector<DataPtr> &data);
42  void centerToData(DataPtr image);
43  void centerToData(const std::vector<DataPtr>& images);
44 
45  VisServicesPtr mServices;
46  CameraControlPtr mCamera3D;
47 };
48 
49 
50 } // namespace cx
51 
52 #endif // CXNAVIGATION_H
cx::ViewGroupDataPtr
boost::shared_ptr< class ViewGroupData > ViewGroupDataPtr
Definition: cxViewGroup.h:29
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::Navigation::VIEW_TYPE
VIEW_TYPE
Definition: cxNavigation.h:32
cxForwardDeclarations.h
cxDefinitions.h
cx::VisServicesPtr
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
cxViewGroupData.h
cxVector3D.h
cx::DataPtr
boost::shared_ptr< class Data > DataPtr
Definition: cxRegistrationApplicator.h:22
cx::DataViewProperties
Definition: cxViewGroupData.h:79
cx::DataViewProperties::createFull
static DataViewProperties createFull()
Definition: cxViewGroupData.cpp:158
cx::CameraControlPtr
boost::shared_ptr< class CameraControl > CameraControlPtr
Definition: cxForwardDeclarations.h:152
cx::Vector3D
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition: cxVector3D.h:42
cx::Navigation
Definition: cxNavigation.h:29