12 #ifndef CXVIEWSERVICE_H_ 13 #define CXVIEWSERVICE_H_ 15 #include "cxResourceVisualizationExport.h" 18 #include <boost/shared_ptr.hpp> 25 #define ViewService_iid "cx::ViewService" 32 enum cxResourceVisualization_EXPORT CAMERA_STYLE_TYPE
50 class cxResourceVisualization_EXPORT
ViewService :
public QObject
54 virtual ViewPtr get3DView(
int group = 0,
int index = 0) = 0;
58 virtual int getActiveGroupId()
const = 0;
60 unsigned groupCount()
const;
63 virtual void setRegistrationMode(REGISTRATION_STATUS mode) = 0;
65 virtual void autoShowData(
DataPtr data) = 0;
66 virtual void enableRender(
bool val) = 0;
67 virtual bool renderingIsEnabled()
const = 0;
68 virtual QWidget* createLayoutWidget(QWidget* parent,
int index=0) = 0;
69 virtual QWidget* getLayoutWidget(
int index) = 0;
70 virtual QString getActiveLayout(
int widgetIndex=0)
const = 0;
71 virtual void setActiveLayout(
const QString& uid,
int widgetIndex=0) = 0;
72 virtual void deactivateLayout();
79 virtual QActionGroup* getInteractorStyleActionGroup() = 0;
80 virtual void centerToImageCenterInActiveViewGroup() = 0;
81 virtual void setCameraStyle(CAMERA_STYLE_TYPE style,
int groupIdx) = 0;
82 virtual void zoomCamera3D(
int viewGroup3DNumber,
int zoomFactor) = 0;
83 virtual void addDefaultLayout(
LayoutData layoutData) = 0;
84 virtual void enableContextMenuForViews(
bool enable=
true) = 0;
86 virtual bool isNull() = 0;
93 void activeLayoutChanged();
94 void activeViewChanged();
95 void renderingEnabledChanged();
97 void renderFinished();
100 virtual void aboutToStop() = 0;
107 #endif // CXVIEWSERVICE_H_ boost::shared_ptr< class CyclicActionLogger > CyclicActionLoggerPtr
boost::shared_ptr< class LayoutRepository > LayoutRepositoryPtr
boost::shared_ptr< class ViewGroupData > ViewGroupDataPtr
boost::shared_ptr< class CameraControl > CameraControlPtr
boost::shared_ptr< class InteractiveCropper > InteractiveCropperPtr
boost::shared_ptr< class RepContainer > RepContainerPtr
boost::shared_ptr< class View > ViewPtr
boost::shared_ptr< class Clippers > ClippersPtr
boost::shared_ptr< class Data > DataPtr
SNW_DECLARE_ENUM_STRING_CONVERTERS(cxResourceVisualization_EXPORT, cx, CAMERA_STYLE_TYPE)
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
boost::shared_ptr< class Navigation > NavigationPtr
Namespace for all CustusX production code.