Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::VtkLayerController Class Reference

Manages the VTK layer hierarchy of a vtkRenderWindow. More...

#include <mitkVtkLayerController.h>

Collaboration diagram for mitk::VtkLayerController:

Public Member Functions

 VtkLayerController (vtkSmartPointer< vtkRenderWindow > renderWindow)
 Construct a VtkLayerController for the given render window. More...
 
virtual ~VtkLayerController ()
 
vtkSmartPointer< vtkRenderer > GetSceneRenderer ()
 Return the current scene renderer. More...
 
void InsertBackgroundRenderer (vtkSmartPointer< vtkRenderer > renderer, bool forceAbsoluteBackground)
 Insert a renderer into the background layer. More...
 
void InsertForegroundRenderer (vtkSmartPointer< vtkRenderer > renderer, bool forceAbsoluteForeground)
 Insert a renderer into the foreground layer. More...
 
void InsertSceneRenderer (vtkSmartPointer< vtkRenderer > renderer)
 Insert a renderer into the scene layer. More...
 
void SetRenderWindow (vtkSmartPointer< vtkRenderWindow > renwin)
 Set the VTK render window managed by this controller. More...
 
void RemoveRenderer (vtkSmartPointer< vtkRenderer > renderer)
 Remove a previously inserted renderer from the render window. More...
 
bool IsRendererInserted (vtkSmartPointer< vtkRenderer > renderer)
 Check whether a renderer has been inserted. More...
 
unsigned int GetNumberOfRenderers ()
 Return the total number of renderers in the render window. More...
 
void SetEraseForAllRenderers (int i)
 Set the erase flag for all registered renderers. More...
 

Static Public Member Functions

static VtkLayerController * GetInstance (vtkSmartPointer< vtkRenderWindow > renWin)
 Return the VtkLayerController instance for the given render window. More...
 
static void AddInstance (vtkSmartPointer< vtkRenderWindow > renWin, vtkSmartPointer< vtkRenderer > mitkSceneRenderer)
 Register a new VtkLayerController instance for the given render window. More...
 
static void RemoveInstance (vtkSmartPointer< vtkRenderWindow > renWin)
 Remove the VtkLayerController instance for the given render window. More...
 

Protected Attributes

vtkSmartPointer< vtkRenderWindow > m_RenderWindow
 

Detailed Description

Manages the VTK layer hierarchy of a vtkRenderWindow.

For simple access the layers are divided into three main groups: background, scene, and foreground layers. Renderers can be registered via the Insert... functions and removed via RemoveRenderer().

Definition at line 33 of file mitkVtkLayerController.h.

Constructor & Destructor Documentation

◆ VtkLayerController()

mitk::VtkLayerController::VtkLayerController ( vtkSmartPointer< vtkRenderWindow >  renderWindow)

Construct a VtkLayerController for the given render window.

Parameters
[in]renderWindowThe VTK render window to manage.

◆ ~VtkLayerController()

virtual mitk::VtkLayerController::~VtkLayerController ( )
virtual

Member Function Documentation

◆ AddInstance()

static void mitk::VtkLayerController::AddInstance ( vtkSmartPointer< vtkRenderWindow >  renWin,
vtkSmartPointer< vtkRenderer >  mitkSceneRenderer 
)
static

Register a new VtkLayerController instance for the given render window.

Parameters
[in]renWinThe VTK render window.
[in]mitkSceneRendererThe initial scene renderer for this window.

◆ GetInstance()

static VtkLayerController* mitk::VtkLayerController::GetInstance ( vtkSmartPointer< vtkRenderWindow >  renWin)
static

Return the VtkLayerController instance for the given render window.

Parameters
[in]renWinThe VTK render window.
Returns
The associated VtkLayerController, or nullptr if none exists.

◆ GetNumberOfRenderers()

unsigned int mitk::VtkLayerController::GetNumberOfRenderers ( )

Return the total number of renderers in the render window.

Returns
The count of all registered renderers across all layers.

◆ GetSceneRenderer()

vtkSmartPointer<vtkRenderer> mitk::VtkLayerController::GetSceneRenderer ( )

Return the current scene renderer.

Returns
The VTK renderer used for the scene layer.

◆ InsertBackgroundRenderer()

void mitk::VtkLayerController::InsertBackgroundRenderer ( vtkSmartPointer< vtkRenderer >  renderer,
bool  forceAbsoluteBackground 
)

Insert a renderer into the background layer.

Parameters
[in]rendererThe VTK renderer to insert.
[in]forceAbsoluteBackgroundIf true, place the renderer at the absolute background. Multiple calls with this set to true will make the latest renderer the absolute background.

◆ InsertForegroundRenderer()

void mitk::VtkLayerController::InsertForegroundRenderer ( vtkSmartPointer< vtkRenderer >  renderer,
bool  forceAbsoluteForeground 
)

Insert a renderer into the foreground layer.

Parameters
[in]rendererThe VTK renderer to insert.
[in]forceAbsoluteForegroundIf true, place the renderer at the absolute foreground. Multiple calls with this set to true will make the latest renderer the absolute foreground.

◆ InsertSceneRenderer()

void mitk::VtkLayerController::InsertSceneRenderer ( vtkSmartPointer< vtkRenderer >  renderer)

Insert a renderer into the scene layer.

The renderer will be rendered between background and foreground renderers.

Parameters
[in]rendererThe VTK renderer to insert.

◆ IsRendererInserted()

bool mitk::VtkLayerController::IsRendererInserted ( vtkSmartPointer< vtkRenderer >  renderer)

Check whether a renderer has been inserted.

Parameters
[in]rendererThe VTK renderer to check.
Returns
True if the renderer is currently registered.

◆ RemoveInstance()

static void mitk::VtkLayerController::RemoveInstance ( vtkSmartPointer< vtkRenderWindow >  renWin)
static

Remove the VtkLayerController instance for the given render window.

Parameters
[in]renWinThe VTK render window whose controller should be removed.

◆ RemoveRenderer()

void mitk::VtkLayerController::RemoveRenderer ( vtkSmartPointer< vtkRenderer >  renderer)

Remove a previously inserted renderer from the render window.

Parameters
[in]rendererThe VTK renderer to remove.

◆ SetEraseForAllRenderers()

void mitk::VtkLayerController::SetEraseForAllRenderers ( int  i)

Set the erase flag for all registered renderers.

Parameters
[in]iThe erase flag value (non-zero to enable erasing).

◆ SetRenderWindow()

void mitk::VtkLayerController::SetRenderWindow ( vtkSmartPointer< vtkRenderWindow >  renwin)

Set the VTK render window managed by this controller.

Parameters
[in]renwinThe VTK render window.

Member Data Documentation

◆ m_RenderWindow

vtkSmartPointer<vtkRenderWindow> mitk::VtkLayerController::m_RenderWindow
protected

Definition at line 134 of file mitkVtkLayerController.h.


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