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();
in the QSplitter class, the method moveSplitter is protected, so it is not possible to use connect be...
QSplitterChild * HtSplitter
virtual void AddActor(const int &iId, vtkActor *iActor)
void ShowScalarBar(const bool &)
Show/hide the scalar bar in the collection.
void PanMode()
Use the pan interactor style.
QSplitterChild * HbSplitter
void SetLookupTable(vtkLookupTable *iLut)
Set the lookup table in the collection.
virtual void setupUi(QWidget *parent)=0
vtkViewImage3D * m_View3D
virtual void SetImage(vtkImageData *iImage)=0
Set the image to displaid.
class for the visualization of 3D Image represented by one vtkImageData*.
Abstract class for the visualization of 3D Image represented by one vtkImageData*.
void ZoomMode()
Use the zoom interactor style.
Manage a collection of 2D views.
QVTKWidget * QvtkWidget_XZ
virtual void ChangeCursorShape(QCursor iCursorShape)=0
Basic class to handle items such as images and polydatas visualization in 3D.
vtkImplicitPlaneWidget * m_PlaneWidget
QVTKWidget * QvtkWidget_YZ
void EnableSeedWidget(bool iEnable)
vtkActor * m_CurrentActor
QVTKWidget * QvtkWidget_XYZ
virtual std::vector< vtkActor * > AddContour(vtkPolyData *iDataset, vtkProperty *iProperty=NULL)
Add contour with given property into the visualization.
void ShowSplinePlane()
Invert visibility of the Spline Plane.
virtual QVTKInteractor * GetInteractor(const int &)=0
Returns the interactor for one given view.
vtkOrientedBoxWidget * m_BoxWidget
vtkProperty * m_HighlightedContourProperty
virtual void retranslateUi(QWidget *parent)=0
virtual void RemoveActor(const int &iId, vtkActor *iActor)
QVTKWidget * QvtkWidget_XY
void DefaultMode()
Use the default interactor style.
vtkEventQtSlotConnect * VtkEventQtConnector
Basic class to handle 2D/3D items such as images and polydatas visualization in 2D.