17 #ifndef MITKGPUVOLUMEMAPPER3D_H_HEADER_INCLUDED
18 #define MITKGPUVOLUMEMAPPER3D_H_HEADER_INCLUDED
29 #include <vtkFixedPointVolumeRayCastMapper.h>
30 #include <vtkGPUVolumeRayCastMapper.h>
31 #include <vtkImageChangeInformation.h>
32 #include <vtkSmartPointer.h>
33 #include <vtkVersionMacros.h>
34 #include <vtkVolumeProperty.h>
37 #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION == 5) && (VTK_MINOR_VERSION >= 6)))
62 itkFactorylessNewMacro(
Self) itkCloneMacro(
Self)
74 virtual bool IsLODEnabled(
BaseRenderer *renderer = NULL)
const override;
99 #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION == 5) && (VTK_MINOR_VERSION >= 6)))
111 void CreateDefaultTransferFunctions();
143 #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION == 5) && (VTK_MINOR_VERSION >= 6)))
146 bool m_rayInitialized;
147 vtkSmartPointer<vtkVolume> m_VolumeRAY;
148 vtkSmartPointer<vtkGPUVolumeRayCastMapper> m_MapperRAY;
149 vtkSmartPointer<vtkVolumeProperty> m_VolumePropertyRAY;
155 m_VtkRenderWindow = 0;
157 m_cpuInitialized =
false;
159 m_gpuInitialized =
false;
160 m_gpuSupported =
true;
163 #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION == 5) && (VTK_MINOR_VERSION >= 6)))
164 m_rayInitialized =
false;
165 m_raySupported =
true;
171 if (m_cpuInitialized && m_MapperCPU && m_VtkRenderWindow)
172 m_MapperCPU->ReleaseGraphicsResources(m_VtkRenderWindow);
174 if (m_gpuInitialized && m_MapperGPU && m_VtkRenderWindow)
175 m_MapperGPU->ReleaseGraphicsResources(m_VtkRenderWindow);
178 #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION == 5) && (VTK_MINOR_VERSION >= 6)))
179 if (m_rayInitialized && m_MapperRAY && m_VtkRenderWindow)
180 m_MapperRAY->ReleaseGraphicsResources(m_VtkRenderWindow);
vtkSmartPointer< vtkImageChangeInformation > m_UnitSpacingImageFilter
vtkRenderWindow * m_VtkRenderWindow
vtkSmartPointer< vtkMitkVolumeTextureMapper3D > m_MapperGPU
Base class for mapper specific rendering ressources.
#define MITKMAPPEREXT_EXPORT
vtkSmartPointer< vtkPiecewiseFunction > m_DefaultOpacityTransferFunction
vtkSmartPointer< vtkVolumeProperty > m_VolumePropertyGPU
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
vtkSmartPointer< vtkVolume > m_VolumeGPU
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Base class of all mappers, Vtk as well as OpenGL mappers.
vtkSmartPointer< vtkPiecewiseFunction > m_DefaultGradientTransferFunction
vtkSmartPointer< vtkVolumeProperty > m_VolumePropertyCPU
vtkSmartPointer< vtkPiecewiseFunction > m_BinaryOpacityTransferFunction
#define mitkClassMacro(className, SuperClassName)
Image class for storing images.
vtkSmartPointer< vtkVolume > m_VolumeNULL
mitk::LocalStorageHandler< LocalStorage > m_LSH
Vtk-based mapper for VolumeData.
vtkSmartPointer< vtkColorTransferFunction > m_DefaultColorTransferFunction
vtkSmartPointer< vtkVolume > m_VolumeCPU
vtkSmartPointer< vtkColorTransferFunction > m_BinaryColorTransferFunction
Class for nodes of the DataTree.
vtkSmartPointer< vtkPiecewiseFunction > m_BinaryGradientTransferFunction
vtkSmartPointer< vtkFixedPointVolumeRayCastMapper > m_MapperCPU