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();
199 if ( this->Interactor ) { this->Marker->SetEnabled (a); }
208 return ( this->Marker->GetEnabled() == 1 );
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();
bool GetShade(void)
Get the shade.
vtkOrientationMarkerWidget * Marker
vtkAnnotatedCubeActor * Cube
virtual void SetWorldCoordinates(double pos[3])
virtual void UpdateOrientation()
virtual void UpdateDisplayExtent()
std::vector< vtkSmartVolumeMapper * > m_VolumeMappers
vtkGetObjectMacro(CornerAnnotation, vtkCornerAnnotation)
Get the corner annotation.
std::vector< vtkImageActor * > Phantom
std::vector< ImageActorCallback * > PhantomCallback
void SetShade(const bool &a)
Set the shade.
vtkInteractorStyleImage3D * InteractorStyle3D
std::vector< vtkVolumeProperty * > m_VolumeProperties
vtkTypeRevisionMacro(vtkViewImage, vtkImageViewer2)
virtual void SetSlice(int s)
void SetCubeVisibility(const bool &a)
Set the cube visibility.
Basic class to handle items such as images and polydatas visualization in 3D.
vtkImage3DCroppingBoxCallback * Callback
virtual void SetOrientationMatrix(vtkMatrix4x4 *matrix)
bool GetCubeVisibility(void)
Get the cube visibility.
vtkViewImage3DCommand * Command
Callback to be called by the box widget to render only what is inside the box widget.
This class is a top-level convenience class for displaying a scalar - or RGB image in a 2D or 3D scen...
vtkSmartVolumeMapper * SmartVolumeMapper3D
virtual void Render(void)
std::vector< vtkActor * > BoundsActor
vtkBooleanMacro(ShowAnnotations, int)
Set the annotation status. 0: annotations are not visible 1: annotations are visible.
std::vector< vtkVolume * > m_VolumeActors
virtual void SetSliceOrientation(int orientation)
Define the interactor behavior withing a vtkImage3D. 4 modes (Default, Zoom, Pan and Pick) ...
vtkVolumeProperty * VolumeProperty
Manage events occuring in 3D view.
Basic class to handle 2D/3D items such as images and polydatas visualization in 2D.