CustusX  2023.01.05-dev+develop.0da12
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 class QIcon;
27 class QWidget;
28 class QMenu;
29 class QActionGroup;
30 #include "cxCameraStyleForView.h"
31 
32 namespace cx
33 {
34 
35 typedef boost::shared_ptr<class CameraStyle> CameraStylePtr;
36 using cx::Transform3D;
37 typedef boost::shared_ptr<class CoreServices> CoreServicesPtr;
38 
55 class org_custusx_core_view_EXPORT CameraStyle: public QObject
56 {
57 Q_OBJECT
58 public:
59  explicit CameraStyle(CoreServicesPtr backend, ViewGroupDataPtr viewGroupData);
60  void setCameraStyle(CameraStyleData style);
61  CameraStyleData getCameraStyle() const;
62 
63  void addView(ViewPtr view);
64  void clearViews();
65 
66 signals:
67  void cameraStyleChanged();
68 private:
69  CameraStyleData mCameraStyle;
70  std::vector<CameraStyleForViewPtr> mViews;
71  CoreServicesPtr mBackend;
72  ViewGroupDataPtr mViewGroupData;
73 };
74 
75 
79 } //namespace cx
80 
81 
82 #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:35
boost::shared_ptr< class View > ViewPtr
boost::shared_ptr< class CoreServices > CoreServicesPtr
Definition: cxCameraStyle.h:37
Namespace for all CustusX production code.