Fraxinus  18.10
An IGT application
cxCameraStyle.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 /*
13  * cxCameraStyle.h
14  *
15  * \date Mar 9, 2011
16  * \author dev
17  */
18 #ifndef CXCAMERASTYLE_H_
19 #define CXCAMERASTYLE_H_
20 
21 #include "org_custusx_core_view_Export.h"
22 
23 #include <QPointer>
24 #include "cxTransform3D.h"
25 #include "cxForwardDeclarations.h"
26 #include "cxEnumConverter.h"
27 class QIcon;
28 class QWidget;
29 class QMenu;
30 class QActionGroup;
31 #include "cxCameraStyleForView.h"
32 
33 namespace cx
34 {
35 
36 typedef boost::shared_ptr<class CameraStyle> CameraStylePtr;
37 using cx::Transform3D;
38 typedef boost::shared_ptr<class CoreServices> CoreServicesPtr;
39 
56 class org_custusx_core_view_EXPORT CameraStyle: public QObject
57 {
58 Q_OBJECT
59 public:
60  explicit CameraStyle(CoreServicesPtr backend, ViewGroupDataPtr viewGroupData);
61  void setCameraStyle(CameraStyleData style);
62  CameraStyleData getCameraStyle() const;
63 
64  void addView(ViewPtr view);
65  void clearViews();
66 
67 signals:
68  void cameraStyleChanged();
69 private:
70  CameraStyleData mCameraStyle;
71  std::vector<CameraStyleForViewPtr> mViews;
72  CoreServicesPtr mBackend;
73  ViewGroupDataPtr mViewGroupData;
74 };
75 
76 
80 } //namespace cx
81 
82 
83 #endif /* CXCAMERASTYLE_H_ */
boost::shared_ptr< class ViewGroupData > ViewGroupDataPtr
Definition: cxViewGroup.h:29
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class CameraStyle > CameraStylePtr
Definition: cxCameraStyle.h:36
boost::shared_ptr< class View > ViewPtr
boost::shared_ptr< class CoreServices > CoreServicesPtr
Definition: cxCameraStyle.h:38
Namespace for all CustusX production code.