Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkVtkMapper.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 mitkVtkMapper_h
14 #define mitkVtkMapper_h
15 
16 #include <mitkBaseRenderer.h>
17 #include <mitkDataNode.h>
19 #include <mitkMapper.h>
20 #include <mitkVtkPropRenderer.h>
21 #include <MitkCoreExports.h>
22 #include <mitkCoreServices.h>
23 
24 #include <vtkActor.h>
25 #include <vtkLinearTransform.h>
26 #include <vtkMapper.h>
27 #include <vtkPolyDataMapper.h>
28 #include <vtkProp3D.h>
29 #include <vtkProp3DCollection.h>
30 #include <vtkPropAssembly.h>
31 #include <vtkProperty.h>
32 
33 class vtkProp;
34 class vtkProp3D;
35 class vtkActor;
36 
37 namespace mitk
38 {
53  {
54  public:
56 
65  virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) = 0;
66 
78 
83  virtual void MitkRenderOverlay(BaseRenderer *renderer);
84 
89  virtual void MitkRenderOpaqueGeometry(BaseRenderer *renderer);
90 
96 
102 
112  virtual bool HasVtkProp(const vtkProp *prop, BaseRenderer *renderer);
113 
126  virtual void UpdateVtkTransform(mitk::BaseRenderer *renderer);
127 
137  void ApplyColorAndOpacityProperties(mitk::BaseRenderer *renderer, vtkActor *actor) override;
138 
146  virtual void ReleaseGraphicsResources(mitk::BaseRenderer * /*renderer*/) {}
147 
150  {
151  };
152 
153  protected:
156 
158  ~VtkMapper() override;
159 
160  private:
162  VtkMapper(const VtkMapper &);
163 
165  VtkMapper &operator=(const VtkMapper &);
166  };
167 } // namespace mitk
168 #endif
#define MITKCORE_EXPORT
Organizes the rendering process.
Base class for mapper-specific rendering resources.
Definition: mitkMapper.h:181
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:56
Empty LocalStorage subclass for VtkMapper.
Base class of all VTK-based Mappers for displaying primitives using VTK functionality.
Definition: mitkVtkMapper.h:53
virtual vtkProp * GetVtkProp(mitk::BaseRenderer *renderer)=0
Return the VTK prop (actor, assembly, etc.) for the given renderer.
void ApplyColorAndOpacityProperties(mitk::BaseRenderer *renderer, vtkActor *actor) override
Apply color and opacity properties read from the PropertyList to the given vtkActor.
virtual void UpdateVtkTransform(mitk::BaseRenderer *renderer)
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
mitkClassMacro(VtkMapper, Mapper)
virtual bool HasVtkProp(const vtkProp *prop, BaseRenderer *renderer)
Check whether this mapper owns the specified vtkProp for the given renderer.
virtual void MitkRenderVolumetricGeometry(BaseRenderer *renderer)
Check visibility and render volumetric geometry.
virtual void MitkRenderOpaqueGeometry(BaseRenderer *renderer)
Check visibility and render opaque (untransparent) geometry.
~VtkMapper() override
virtual void MitkRenderTranslucentGeometry(BaseRenderer *renderer)
Check visibility and render translucent (transparent) geometry.
void MitkRender(mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override
Determine the render pass type and call the appropriate render method.
virtual void ReleaseGraphicsResources(mitk::BaseRenderer *)
Release VTK-based graphics resources consumed by this mapper.
virtual void MitkRenderOverlay(BaseRenderer *renderer)
Check visibility and render the overlay pass.
RenderType
Enumeration of render pass types.
Find image slices visible on a given plane.