68 #ifndef _vtkViewImage3D_h_
69 #define _vtkViewImage3D_h_
72 #include "MegaVTK2Configure.h"
76 #include <vtkImageActor.h>
77 #include <vtkRenderer.h>
78 #include <vtkImageMapToWindowLevelColors.h>
79 #include <vtkImageMapToColors.h>
81 #include <vtkPlaneWidget.h>
82 #include <vtkOrientationMarkerWidget.h>
83 #include <vtkVolumeProperty.h>
85 #include <vtkObjectFactory.h>
91 #include "vtkProp3D.h"
94 class vtkSmartVolumeMapper;
98 class vtkDataSet3DCroppingPlaneCallback;
100 class vtkAnnotatedCubeActor;
101 class vtkOrientationMarkerWidget;
104 class vtkScalarsToColors;
105 class vtkColorTransferFunction;
129 virtual void Render(
void);
141 virtual vtkActor * AddDataSet(vtkDataSet *dataset,
142 vtkProperty *property = NULL,
143 const bool & intersection =
true,
144 const bool & iDataVisibility =
false);
165 virtual void Add2DPhantom(
166 const unsigned int & i,
167 vtkImageActor *input,
168 vtkPolyData *in_bounds = NULL);
175 void SetVolumeRenderingOn(
const std::vector<vtkImageData*>& iImages,
176 const std::vector<vtkPiecewiseFunction*>& iOpacities);
181 void SetVolumeRenderingOff();
186 void SetTriPlanarRenderingOn();
191 void SetTriPlanarRenderingOff();
197 void SetCubeVisibility(
const bool & a)
199 if ( this->Interactor ) { this->Marker->SetEnabled (a); }
206 bool GetCubeVisibility(
void)
208 return ( this->Marker->GetEnabled() == 1 );
217 void SetShade(
const bool & a)
219 this->VolumeProperty->SetShade (a);
228 return ( this->VolumeProperty->GetShade() == 1 );
245 void SetBoundsActorsVisibility(
bool iVisibility);
260 void ComputeDistances(
double *n,
double *origin);
266 void ComputeDistancesToSquare(vtkPlanes *planes);
268 std::vector< vtkProp3D * > GetPlanesActors();
276 virtual void InstallPipeline();
280 virtual void SetupWidgets();
282 void CleanVolumeRenderingVectors();