Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit

Vtk-based mapper for cutting 2D slices out of Surfaces. More...

#include <mitkSurfaceVtkMapper2D.h>

Inheritance diagram for mitk::SurfaceVtkMapper2D:
Collaboration diagram for mitk::SurfaceVtkMapper2D:

Classes

class  LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 

Public Member Functions

 mitkClassMacro (SurfaceVtkMapper2D, VtkMapper)
 
Pointer Clone () const
 
virtual const mitk::Surface * GetInput () const
 Get the input Surface from the associated DataNode. More...
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 Get the VTK prop assembly for the given renderer. More...
 
void UpdateVtkTransform (mitk::BaseRenderer *) override
 UpdateVtkTransform Overwrite the method of the base class. More...
 
- Public Member Functions inherited from mitk::VtkMapper
 mitkClassMacro (VtkMapper, Mapper)
 
void MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override
 Determine the render pass type and call the appropriate render method. More...
 
virtual void MitkRenderOverlay (BaseRenderer *renderer)
 Check visibility and render the overlay pass. More...
 
virtual void MitkRenderOpaqueGeometry (BaseRenderer *renderer)
 Check visibility and render opaque (untransparent) geometry. More...
 
virtual void MitkRenderTranslucentGeometry (BaseRenderer *renderer)
 Check visibility and render translucent (transparent) geometry. More...
 
virtual void MitkRenderVolumetricGeometry (BaseRenderer *renderer)
 Check visibility and render volumetric geometry. More...
 
virtual bool HasVtkProp (const vtkProp *prop, BaseRenderer *renderer)
 Check whether this mapper owns the specified vtkProp for the given renderer. More...
 
void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList to the given vtkActor. More...
 
virtual void ReleaseGraphicsResources (mitk::BaseRenderer *)
 Release VTK-based graphics resources consumed by this mapper. More...
 
- Public Member Functions inherited from mitk::Mapper
 mitkClassMacroItkParent (Mapper, itk::Object)
 
virtual void SetDataNode (DataNode *_arg)
 Set the DataNode containing the data to map. More...
 
virtual DataNode * GetDataNode () const
 Get the DataNode containing the data to map. More...
 
TimeStepType GetTimestep () const
 Return the current time step as calculated from the renderer. More...
 
virtual bool IsLODEnabled (BaseRenderer *) const
 Return whether this Mapper currently allows for Level-of-Detail rendering. More...
 

Static Public Member Functions

static Pointer New ()
 
static void SetDefaultProperties (mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
 Set the default properties for 2D surface rendering. More...
 
- Static Public Member Functions inherited from mitk::Mapper
static void SetDefaultProperties (DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false)
 Set default values of properties used by this mapper on the given node. More...
 

Public Attributes

mitk::LocalStorageHandler< LocalStorage > m_LSH
 The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows. More...
 

Protected Member Functions

 SurfaceVtkMapper2D ()
 SurfaceVtkMapper2D default constructor. More...
 
 ~SurfaceVtkMapper2D () override
 ~SurfaceVtkMapper2D default destructor. More...
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 GenerateDataForRenderer produces all the data. More...
 
void ResetMapper (BaseRenderer *renderer) override
 ResetMapper Called in mitk::Mapper::Update to hide objects. If TimeGeometry or time step is not valid, reset the mapper. so that nothing is displayed e.g. toggle visibility of the propassembly. More...
 
virtual void FixupLegacyProperties (PropertyList *properties)
 Updates legacy properties to current behavior/interpretation. More...
 
void ApplyAllProperties (BaseRenderer *renderer)
 ApplyAllProperties Pass all the properties to VTK. More...
 
void Update (BaseRenderer *renderer) override
 Update Check if data should be generated. More...
 
- Protected Member Functions inherited from mitk::VtkMapper
 VtkMapper ()
 
 ~VtkMapper () override
 
- Protected Member Functions inherited from mitk::Mapper
 Mapper ()
 explicit constructor which disallows implicit conversions More...
 
 ~Mapper () override
 virtual destructor in order to derive from this class More...
 
virtual void CalculateTimeStep (BaseRenderer *renderer)
 Updates the time step, which is sometimes needed in subclasses. More...
 

Additional Inherited Members

- Protected Attributes inherited from mitk::Mapper
mitk::DataNode * m_DataNode
 

Detailed Description

Vtk-based mapper for cutting 2D slices out of Surfaces.

The mapper uses a vtkCutter filter to cut out slices (contours) of the 3D volume and render these slices as vtkPolyData. The data is transformed according to its geometry before cutting, to support the geometry concept of MITK.

Properties: Surface.2D.Line Width: Thickness of the rendered lines in 2D. Surface.2D.Normals.Draw Normals: enables drawing of normals as 3D arrows in the 2D render window. The normals are created with a vtkGlyph3D from the vtkPolyData. Surface.2D.Normals.Draw Inverse Normals: same as normals, but in the other direction. The inverse normals are computed with a vtkReverseSense filter. Surface.2D.Normals.(Inverse) Normals Color: Color of the (inverse) normals. Surface.2D.Normals.(Inverse) Normals Scale Factor: Regulates the size of the normals.

Definition at line 56 of file mitkSurfaceVtkMapper2D.h.

Constructor & Destructor Documentation

◆ SurfaceVtkMapper2D()

mitk::SurfaceVtkMapper2D::SurfaceVtkMapper2D ( )
protected

SurfaceVtkMapper2D default constructor.

◆ ~SurfaceVtkMapper2D()

mitk::SurfaceVtkMapper2D::~SurfaceVtkMapper2D ( )
overrideprotected

~SurfaceVtkMapper2D default destructor.

Member Function Documentation

◆ ApplyAllProperties()

void mitk::SurfaceVtkMapper2D::ApplyAllProperties ( BaseRenderer *  renderer)
protected

ApplyAllProperties Pass all the properties to VTK.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

◆ Clone()

Pointer mitk::SurfaceVtkMapper2D::Clone ( ) const

◆ FixupLegacyProperties()

virtual void mitk::SurfaceVtkMapper2D::FixupLegacyProperties ( PropertyList *  properties)
protectedvirtual

Updates legacy properties to current behavior/interpretation.

Parameters
propertiesThe property list which should be adapted to new behaviour.

Whenever a mapper decides to change its property types or its interpretation of certain values, it should add something to this method and call it before methods like ApplyProperties();

This is particularly helpful when dealing with data from archive/scene files that were created before changes.

◆ GenerateDataForRenderer()

void mitk::SurfaceVtkMapper2D::GenerateDataForRenderer ( mitk::BaseRenderer *  renderer)
overrideprotectedvirtual

GenerateDataForRenderer produces all the data.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ GetInput()

virtual const mitk::Surface* mitk::SurfaceVtkMapper2D::GetInput ( ) const
virtual

Get the input Surface from the associated DataNode.

Returns
Const pointer to the input mitk::Surface.

◆ GetVtkProp()

vtkProp* mitk::SurfaceVtkMapper2D::GetVtkProp ( mitk::BaseRenderer *  renderer)
overridevirtual

Get the VTK prop assembly for the given renderer.

Returns the vtkAssembly containing the surface cut actor and optional normal/inverse-normal actors.

Parameters
[in]rendererThe renderer for which the prop is requested.
Returns
Pointer to the vtkProp used for rendering.

Implements mitk::VtkMapper.

◆ mitkClassMacro()

mitk::SurfaceVtkMapper2D::mitkClassMacro ( SurfaceVtkMapper2D  ,
VtkMapper   
)

◆ New()

static Pointer mitk::SurfaceVtkMapper2D::New ( )
static

◆ ResetMapper()

void mitk::SurfaceVtkMapper2D::ResetMapper ( BaseRenderer *  renderer)
overrideprotectedvirtual

ResetMapper Called in mitk::Mapper::Update to hide objects. If TimeGeometry or time step is not valid, reset the mapper. so that nothing is displayed e.g. toggle visibility of the propassembly.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ SetDefaultProperties()

static void mitk::SurfaceVtkMapper2D::SetDefaultProperties ( mitk::DataNode *  node,
mitk::BaseRenderer *  renderer = nullptr,
bool  overwrite = false 
)
static

Set the default properties for 2D surface rendering.

Initializes properties for line width, normal drawing, colors, and scale factors.

Parameters
[in]nodeThe DataNode on which to set the properties.
[in]rendererThe renderer context (nullptr for default property list).
[in]overwriteIf true, overwrite existing properties.

◆ Update()

void mitk::SurfaceVtkMapper2D::Update ( BaseRenderer *  renderer)
overrideprotectedvirtual

Update Check if data should be generated.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ UpdateVtkTransform()

void mitk::SurfaceVtkMapper2D::UpdateVtkTransform ( mitk::BaseRenderer *  )
inlineoverridevirtual

UpdateVtkTransform Overwrite the method of the base class.

The base class transforms the actor according to the respective geometry which is correct for most cases. This mapper, however, uses a vtkCutter to cut out a contour. To cut out the correct contour, the data has to be transformed beforehand. Else the current plane geometry will point the cutter to en empty location (if the surface does have a geometry, which is a rather rare case).

Reimplemented from mitk::VtkMapper.

Definition at line 182 of file mitkSurfaceVtkMapper2D.h.

Member Data Documentation

◆ m_LSH

mitk::LocalStorageHandler<LocalStorage> mitk::SurfaceVtkMapper2D::m_LSH

The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows.

Definition at line 170 of file mitkSurfaceVtkMapper2D.h.


The documentation for this class was generated from the following file: