Medical Imaging Interaction Toolkit  2025.12.02
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 {
48  {
49  public:
51 
52  virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) = 0;
53 
58  DEPRECATED(virtual bool IsVtkBased() const override);
59 
67 
69  virtual void MitkRenderOverlay(BaseRenderer *renderer);
70 
72  virtual void MitkRenderOpaqueGeometry(BaseRenderer *renderer);
73 
76 
78  virtual void MitkRenderVolumetricGeometry(BaseRenderer *renderer);
79 
85  virtual bool HasVtkProp(const vtkProp *prop, BaseRenderer *renderer);
86 
99  virtual void UpdateVtkTransform(mitk::BaseRenderer *renderer);
100 
106  DEPRECATED(inline virtual void ApplyProperties(vtkActor *actor, mitk::BaseRenderer *renderer))
107  {
108  ApplyColorAndOpacityProperties(renderer, actor);
109  }
110 
115 
120  void ApplyColorAndOpacityProperties(mitk::BaseRenderer *renderer, vtkActor *actor) override;
121 
129  virtual void ReleaseGraphicsResources(mitk::BaseRenderer * /*renderer*/) {}
130 
132  {
133  };
134 
135  protected:
138 
140  ~VtkMapper() override;
141 
142  private:
144  VtkMapper(const VtkMapper &);
145 
147  VtkMapper &operator=(const VtkMapper &);
148  };
149 } // namespace mitk
150 #endif
#define MITKCORE_EXPORT
Base class for mapper specific rendering resources.
Definition: mitkMapper.h:191
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:47
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Definition: mitkVtkMapper.h:48
virtual vtkProp * GetVtkProp(mitk::BaseRenderer *renderer)=0
void ApplyColorAndOpacityProperties(mitk::BaseRenderer *renderer, vtkActor *actor) override
Apply color and opacity properties read from the PropertyList. Called by mapper subclasses.
virtual void UpdateVtkTransform(mitk::BaseRenderer *renderer)
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
virtual bool HasVtkProp(const vtkProp *prop, BaseRenderer *renderer)
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer.
void ApplyShaderProperties(mitk::BaseRenderer *)
virtual bool IsVtkBased() const override
Returns whether this is an vtk-based mapper.
virtual void MitkRenderVolumetricGeometry(BaseRenderer *renderer)
Checks visibility and renders volumes.
virtual void MitkRenderOpaqueGeometry(BaseRenderer *renderer)
Checks visibility and renders untransparent geometry.
virtual void ApplyProperties(vtkActor *actor, mitk::BaseRenderer *renderer)
Apply color and opacity properties read from the PropertyList.
~VtkMapper() override
virtual void MitkRenderTranslucentGeometry(BaseRenderer *renderer)
Checks visibility and renders transparent geometry.
void MitkRender(mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override
Determines which geometry should be rendered (opaque, translucent, volumetric, overlay) and calls the...
virtual void ReleaseGraphicsResources(mitk::BaseRenderer *)
Release vtk-based graphics resources that are being consumed by this mapper.
virtual void MitkRenderOverlay(BaseRenderer *renderer)
Checks visibility and renders the overlay.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
#define DEPRECATED(func)
Definition: mitkCommon.h:175
Find image slices visible on a given plane.