Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
mitkVolumeMapperVtkSmart3D.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkVolumeMapperVtkSmart3D_h
14 #define mitkVolumeMapperVtkSmart3D_h
15 
16 // MITK
17 #include "MitkMapperExtExports.h"
18 #include "mitkBaseRenderer.h"
19 #include "mitkCommon.h"
20 #include "mitkImage.h"
21 #include "mitkVtkMapper.h"
22 
23 // VTK
24 #include <vtkImageChangeInformation.h>
25 #include <vtkSmartPointer.h>
26 #include <vtkVersionMacros.h>
27 #include <vtkVolumeProperty.h>
28 #include <vtkSmartVolumeMapper.h>
29 #include <vtkImageData.h>
30 #include <vtkImageChangeInformation.h>
31 
32 namespace mitk
33 {
34 
35  //##Documentation
36  //## @brief Vtk-based mapper for VolumeData
37  //##
38  //## @ingroup Mapper
40  {
41  public:
43 
44  itkFactorylessNewMacro(Self);
45 
46  itkCloneMacro(Self);
47 
48  vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override;
49 
50  void ApplyProperties(vtkActor *actor, mitk::BaseRenderer *renderer) override;
51  static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer = nullptr, bool overwrite = false);
52 
53  protected:
55  ~VolumeMapperVtkSmart3D() override;
56 
57  void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override;
58 
59  void createMapper(vtkImageData*);
60  void createVolume();
61  void createVolumeProperty();
62  vtkImageData* GetInputImage();
63 
68 
69  void UpdateTransferFunctions(mitk::BaseRenderer *renderer);
70  void UpdateRenderMode(mitk::BaseRenderer *renderer);
71  };
72 
73 } // namespace mitk
74 
75 #endif
mitk::VolumeMapperVtkSmart3D::m_Volume
vtkSmartPointer< vtkVolume > m_Volume
Definition: mitkVolumeMapperVtkSmart3D.h:64
MitkMapperExtExports.h
mitkImage.h
vtkSmartPointer< vtkVolume >
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::VolumeMapperVtkSmart3D::m_VolumeProperty
vtkSmartPointer< vtkVolumeProperty > m_VolumeProperty
Definition: mitkVolumeMapperVtkSmart3D.h:67
mitk::VolumeMapperVtkSmart3D::m_SmartVolumeMapper
vtkSmartPointer< vtkSmartVolumeMapper > m_SmartVolumeMapper
Definition: mitkVolumeMapperVtkSmart3D.h:66
mitk::VolumeMapperVtkSmart3D
Vtk-based mapper for VolumeData.
Definition: mitkVolumeMapperVtkSmart3D.h:39
mitk::Mapper
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:46
mitk::VtkMapper
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Definition: mitkVtkMapper.h:47
mitkCommon.h
mitkVtkMapper.h
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::BaseRenderer
Definition: mitkBaseRenderer.h:56
mitkBaseRenderer.h
mitk::VolumeMapperVtkSmart3D::m_ImageChangeInformation
vtkSmartPointer< vtkImageChangeInformation > m_ImageChangeInformation
Definition: mitkVolumeMapperVtkSmart3D.h:65
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63
MITKMAPPEREXT_EXPORT
#define MITKMAPPEREXT_EXPORT
Definition: MitkMapperExtExports.h:15
mitk::ROIMapperHelper::SetDefaultProperties
void SetDefaultProperties(DataNode *node, BaseRenderer *renderer, bool override)
Set common default properties for both 2-d and 3-d ROI mappers.