35 #ifndef __QGoImageView3D_h
36 #define __QGoImageView3D_h
41 #include <QtCore/QVariant>
42 #include <QtGui/QAction>
43 #include <QtGui/QApplication>
44 #include <QtGui/QButtonGroup>
45 #include <QtGui/QGridLayout>
52 #include "QGoGUILibConfigure.h"
54 #include "vtkCommand.h"
57 class vtkEventQtSlotConnect;
71 class vtkImplicitPlaneWidget;
74 class vtkPiecewiseFunction;
98 virtual void SetImage(vtkImageData *iImage);
100 virtual void RemoveActor(
const int & iId, vtkActor *iActor);
102 virtual void AddActor(
const int & iId, vtkActor *iActor);
105 std::vector< vtkActor * >
AddContour(vtkPolyData *iDataset,
106 vtkProperty *iProperty = NULL);
112 int GetFullScreenView()
const;
114 void SaveStateSplitters();
116 int GetSliceViewXY()
const;
118 int GetSliceViewXZ()
const;
120 int GetSliceViewYZ()
const;
141 void ActorPickingMode();
152 void EnableBoxWidget(
bool);
157 void EnablePlaneWidget(
bool);
162 vtkProp * GetPickedActor();
164 vtkActor * GetCurrentActor();
166 bool GetCurrentState();
171 void SliceViewXYChanged(
int Slice);
173 void SliceViewXZChanged(
int Slice);
175 void SliceViewYZChanged(
int Slice);
177 void FullScreenViewChanged(
int View);
179 void SelectionChanged();
181 void VisibilityChanged();
183 void CurrentActorUpdated();
185 void UpdateRenderEvent();
187 void NewWindowLevel(
double,
double);
202 void SetSliceViewXY(
const int &);
204 void SetSliceViewXZ(
const int &);
206 void SetSliceViewYZ(
const int &);
208 void SetFullScreenView(
const int & iS);
221 void EnableVolumeRendering(
const std::vector<vtkImageData*>& iImages,
222 const std::vector<vtkPiecewiseFunction*>& iOpacities);
224 void DisableVolumeRendering();
226 void UpdateCurrentActorSelection(vtkObject *caller);
228 void UpdateCurrentActorVisibility(vtkObject *caller);
238 void SynchronizeViews(
bool iSynchronize);
244 void ShowPlanes(
bool iShow);
289 void SetupVTKtoQtConnections();
291 void UpdateOnFirstRender();
295 void FullScreenViewXY();
297 void FullScreenViewXZ();
299 void FullScreenViewYZ();
301 void FullScreenViewXYZ();
303 void InitializeBoxWidget();
305 void InitializePlaneWidget();