Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::RenderingManager Class Referenceabstract

Manager for coordinating the rendering process. More...

#include <mitkRenderingManager.h>

Inheritance diagram for mitk::RenderingManager:
Collaboration diagram for mitk::RenderingManager:

Classes

struct  RenderWindowCallbacks
 

Public Types

enum  RequestType { REQUEST_UPDATE_ALL , REQUEST_UPDATE_2DWINDOWS , REQUEST_UPDATE_3DWINDOWS }
 Enumeration of update request types. More...
 
typedef std::vector< vtkRenderWindow * > RenderWindowVector
 
typedef std::vector< float > FloatVector
 
typedef std::vector< bool > BoolVector
 
typedef itk::SmartPointer< DataStorage > DataStoragePointer
 

Public Member Functions

 mitkClassMacroItkParent (RenderingManager, itk::Object)
 
void AddRenderWindow (vtkRenderWindow *renderWindow)
 Register a vtkRenderWindow with this RenderingManager. More...
 
void RemoveRenderWindow (vtkRenderWindow *renderWindow)
 Unregister a vtkRenderWindow from this RenderingManager. More...
 
const RenderWindowVector & GetAllRegisteredRenderWindows ()
 Get all registered vtkRenderWindows. More...
 
void RequestUpdate (vtkRenderWindow *renderWindow)
 Request a deferred update for the specified render window. More...
 
void ForceImmediateUpdate (vtkRenderWindow *renderWindow)
 Immediately execute a synchronous update of the specified render window. More...
 
void RequestUpdateAll (RequestType type=REQUEST_UPDATE_ALL)
 Request a deferred update for all registered render windows. More...
 
void ForceImmediateUpdateAll (RequestType type=REQUEST_UPDATE_ALL)
 Immediately execute a synchronous update for all registered render windows. More...
 
virtual void InitializeViewsByBoundingObjects (const DataStorage *dataStorage)
 Initialize the render windows by the aggregated geometry of all objects that are held in the data storage. More...
 
virtual void InitializeViewByBoundingObjects (vtkRenderWindow *renderWindow, const DataStorage *dataStorage, bool resetCamera=true)
 Initialize the given render window by the aggregated geometry of all objects that are held in the data storage. More...
 
virtual bool InitializeViews (const BaseGeometry *geometry, RequestType type=REQUEST_UPDATE_ALL, bool resetCamera=true)
 Initialize the render windows specified by "type" to the given geometry. More...
 
virtual bool InitializeViews (const TimeGeometry *geometry, RequestType type=REQUEST_UPDATE_ALL, bool resetCamera=true)
 Initialize the render windows specified by "type" to the given geometry. More...
 
virtual bool InitializeViews (RequestType type=REQUEST_UPDATE_ALL)
 Initialize the render windows specified by "type" to the default viewing direction without updating the geometry information. More...
 
virtual bool InitializeView (vtkRenderWindow *renderWindow, const BaseGeometry *geometry, bool resetCamera=true)
 Initialize the specified render window to the given geometry. More...
 
virtual bool InitializeView (vtkRenderWindow *renderWindow, const TimeGeometry *geometry, bool resetCamera=true)
 Initialize the specified render window to the given geometry. More...
 
virtual bool InitializeView (vtkRenderWindow *renderWindow)
 Initialize the specified render window to the default viewing direction without updating the geometry information. More...
 
const TimeNavigationController * GetTimeNavigationController () const
 
TimeNavigationController * GetTimeNavigationController ()
 
 ~RenderingManager () override
 Destructor. Unregisters all render windows and removes callbacks. More...
 
virtual void ExecutePendingRequests ()
 Execute all pending rendering requests. More...
 
bool IsRendering () const
 Check whether any registered render window is currently rendering. More...
 
void AbortRendering ()
 Abort all in-progress renderings by setting the abort flag on active render windows. More...
 
virtual void SetLODIncreaseBlocked (bool _arg)
 Set whether LOD increase is blocked globally. More...
 
virtual bool GetLODIncreaseBlocked ()
 Get whether LOD increase is blocked globally. More...
 
virtual void LODIncreaseBlockedOn ()
 Toggle LOD increase blocking. More...
 
virtual void LODIncreaseBlockedOff ()
 
virtual void SetLODAbortMechanismEnabled (bool _arg)
 Set whether the LOD abort mechanism is enabled. More...
 
virtual bool GetLODAbortMechanismEnabled ()
 Get whether the LOD abort mechanism is enabled. More...
 
virtual void LODAbortMechanismEnabledOn ()
 Toggle the LOD abort mechanism. More...
 
virtual void LODAbortMechanismEnabledOff ()
 
virtual void StartOrResetTimer ()
 Start or reset a timer for a pending high-resolution rendering request. Subclasses should override. More...
 
void ExecutePendingHighResRenderingRequest ()
 Execute any pending high-resolution rendering requests. Called from a timer callback in subclasses. More...
 
virtual void DoStartRendering ()
 Hook called when rendering starts. Override in subclasses. More...
 
virtual void DoMonitorRendering ()
 Hook called to monitor rendering progress. Override in subclasses. More...
 
virtual void DoFinishAbortRendering ()
 Hook called when rendering abort is finished. Override in subclasses. More...
 
int GetNextLOD (BaseRenderer *renderer)
 Get the next LOD level for the given renderer. More...
 
void SetMaximumLOD (unsigned int max)
 Set the maximum LOD level. More...
 
void SetShading (bool state, unsigned int lod)
 Enable or disable shading for a specific LOD level. More...
 
bool GetShading (unsigned int lod)
 Get the shading state for a specific LOD level. More...
 
void SetClippingPlaneStatus (bool status)
 Enable or disable the clipping plane. More...
 
bool GetClippingPlaneStatus ()
 Get the clipping plane status. More...
 
void SetShadingValues (float ambient, float diffuse, float specular, float specpower)
 Set the shading values for rendering. More...
 
FloatVector & GetShadingValues ()
 Get the current shading values. More...
 
PropertyList::Pointer GetPropertyList () const
 Get the internal property list used for global rendering settings. More...
 
BaseProperty * GetProperty (const char *propertyKey) const
 Get a property from the internal property list. More...
 
void SetProperty (const char *propertyKey, BaseProperty *propertyValue)
 Set or add a property in the internal property list. More...
 
void SetDataStorage (DataStorage *storage)
 Setter for internal DataStorage. More...
 
virtual DataStorage * GetDataStorage ()
 Getter for internal DataStorage. More...
 
virtual DataStorage * GetDataStorage () const
 
void SetRenderWindowFocus (vtkRenderWindow *focusWindow)
 Sets a flag to the given renderwindow to indicated that it has the focus e.g. has been clicked recently. More...
 
virtual vtkRenderWindow * GetFocusedRenderWindow ()
 
void SetConstrainedPanningZooming (bool constrain)
 
virtual bool GetConstrainedPanningZooming () const
 
void SetAntiAliasing (AntiAliasing antiAliasing)
 
virtual AntiAliasing GetAntiAliasing () const
 

Static Public Member Functions

static Pointer New ()
 Create a new RenderingManager instance via the registered factory. More...
 
static void SetFactory (RenderingManagerFactory *factory)
 Set the factory that produces platform-specific RenderingManager instances. More...
 
static const RenderingManagerFactory * GetFactory ()
 Get the factory that produces platform-specific RenderingManager instances. More...
 
static bool HasFactory ()
 Check whether a factory has already been set. More...
 
static RenderingManager * GetInstance ()
 Get the RenderingManager singleton instance. More...
 
static bool IsInstantiated ()
 Check whether the singleton instance already exists. More...
 

Protected Types

enum  { RENDERING_INACTIVE , RENDERING_REQUESTED , RENDERING_INPROGRESS }
 
typedef std::map< BaseRenderer *, unsigned int > RendererIntMap
 
typedef std::map< BaseRenderer *, bool > RendererBoolMap
 
typedef std::map< vtkRenderWindow *, int > RenderWindowList
 
typedef std::map< vtkRenderWindow *, RenderWindowCallbacks > RenderWindowCallbacksList
 

Protected Member Functions

 RenderingManager ()
 
virtual void GenerateRenderingRequestEvent ()=0
 
virtual void InitializePropertyList ()
 

Static Protected Member Functions

static void RenderingStartCallback (vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
 
static void RenderingProgressCallback (vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
 
static void RenderingEndCallback (vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
 

Protected Attributes

bool m_UpdatePending
 
RendererBoolMap m_RenderingAbortedMap
 
RendererIntMap m_NextLODMap
 
unsigned int m_MaxLOD
 
bool m_LODIncreaseBlocked
 
bool m_LODAbortMechanismEnabled
 
BoolVector m_ShadingEnabled
 
bool m_ClippingPlaneEnabled
 
FloatVector m_ShadingValues
 
RenderWindowList m_RenderWindowList
 
RenderWindowVector m_AllRenderWindows
 
RenderWindowCallbacksList m_RenderWindowCallbacksList
 
itk::SmartPointer< TimeNavigationController > m_TimeNavigationController
 
PropertyList::Pointer m_PropertyList
 
DataStoragePointer m_DataStorage
 
bool m_ConstrainedPanningZooming
 

Static Protected Attributes

static RenderingManager::Pointer s_Instance
 
static RenderingManagerFactory * s_RenderingManagerFactory
 

Detailed Description

Manager for coordinating the rendering process.

RenderingManager is a central instance retrieving and executing RenderWindow update requests. Its main purpose is to coordinate distributed requests which cannot be aware of each other - lacking the knowledge of whether they are really necessary or not. For example, two objects might determine that a specific RenderWindow needs to be updated. This would result in one unnecessary update, if both executed the update on their own.

The RenderingManager addresses this by letting each such object request an update, and waiting for other objects to possibly issue the same request. The actual update will then only be executed at a well-defined point in the main event loop (this may be each time after event processing is done).

Convenience methods for updating all RenderWindows which have been registered with the RenderingManager exist. If these methods are not used, it is not required to register (add) RenderWindows prior to using the RenderingManager.

The methods ForceImmediateUpdate() and ForceImmediateUpdateAll() can be used to force the RenderWindow update execution without any delay, bypassing the request functionality.

The interface of RenderingManager is platform independent. Platform specific subclasses have to be implemented, though, to supply an appropriate event issuing for controlling the update execution process. See method documentation for a description of how this can be done.

See also
TestingRenderingManager An "empty" RenderingManager implementation which can be used in tests etc.

Definition at line 74 of file mitkRenderingManager.h.

Member Typedef Documentation

◆ BoolVector

typedef std::vector<bool> mitk::RenderingManager::BoolVector

Definition at line 81 of file mitkRenderingManager.h.

◆ DataStoragePointer

◆ FloatVector

typedef std::vector<float> mitk::RenderingManager::FloatVector

Definition at line 80 of file mitkRenderingManager.h.

◆ RendererBoolMap

typedef std::map<BaseRenderer *, bool> mitk::RenderingManager::RendererBoolMap
protected

Definition at line 494 of file mitkRenderingManager.h.

◆ RendererIntMap

typedef std::map<BaseRenderer *, unsigned int> mitk::RenderingManager::RendererIntMap
protected

Definition at line 493 of file mitkRenderingManager.h.

◆ RenderWindowCallbacksList

typedef std::map<vtkRenderWindow *, RenderWindowCallbacks> mitk::RenderingManager::RenderWindowCallbacksList
protected

Definition at line 526 of file mitkRenderingManager.h.

◆ RenderWindowList

typedef std::map<vtkRenderWindow *, int> mitk::RenderingManager::RenderWindowList
protected

Definition at line 516 of file mitkRenderingManager.h.

◆ RenderWindowVector

typedef std::vector<vtkRenderWindow *> mitk::RenderingManager::RenderWindowVector

Definition at line 79 of file mitkRenderingManager.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
RENDERING_INACTIVE 
RENDERING_REQUESTED 
RENDERING_INPROGRESS 

Definition at line 476 of file mitkRenderingManager.h.

◆ RequestType

Enumeration of update request types.

Enumerator
REQUEST_UPDATE_ALL 

Update all render windows.

REQUEST_UPDATE_2DWINDOWS 

Update only 2D render windows.

REQUEST_UPDATE_3DWINDOWS 

Update only 3D render windows.

Definition at line 88 of file mitkRenderingManager.h.

Constructor & Destructor Documentation

◆ ~RenderingManager()

mitk::RenderingManager::~RenderingManager ( )
override

Destructor. Unregisters all render windows and removes callbacks.

◆ RenderingManager()

mitk::RenderingManager::RenderingManager ( )
protected

Member Function Documentation

◆ AbortRendering()

void mitk::RenderingManager::AbortRendering ( )

Abort all in-progress renderings by setting the abort flag on active render windows.

◆ AddRenderWindow()

void mitk::RenderingManager::AddRenderWindow ( vtkRenderWindow *  renderWindow)

Register a vtkRenderWindow with this RenderingManager.

Required for using RequestUpdateAll() and ForceImmediateUpdateAll(). Also sets up VTK rendering callbacks for the LOD abort mechanism.

Parameters
[in]renderWindowThe render window to register.

◆ DoFinishAbortRendering()

virtual void mitk::RenderingManager::DoFinishAbortRendering ( )
inlinevirtual

Hook called when rendering abort is finished. Override in subclasses.

Reimplemented in QmitkRenderingManager.

Definition at line 365 of file mitkRenderingManager.h.

◆ DoMonitorRendering()

virtual void mitk::RenderingManager::DoMonitorRendering ( )
inlinevirtual

Hook called to monitor rendering progress. Override in subclasses.

Reimplemented in QmitkRenderingManager.

Definition at line 363 of file mitkRenderingManager.h.

◆ DoStartRendering()

virtual void mitk::RenderingManager::DoStartRendering ( )
inlinevirtual

Hook called when rendering starts. Override in subclasses.

Definition at line 361 of file mitkRenderingManager.h.

◆ ExecutePendingHighResRenderingRequest()

void mitk::RenderingManager::ExecutePendingHighResRenderingRequest ( )

Execute any pending high-resolution rendering requests. Called from a timer callback in subclasses.

◆ ExecutePendingRequests()

virtual void mitk::RenderingManager::ExecutePendingRequests ( )
virtual

Execute all pending rendering requests.

Must be called by the system whenever a RenderingManager-induced request event occurs in the system pipeline.

◆ ForceImmediateUpdate()

void mitk::RenderingManager::ForceImmediateUpdate ( vtkRenderWindow *  renderWindow)

Immediately execute a synchronous update of the specified render window.

Parameters
[in]renderWindowThe render window to update.

◆ ForceImmediateUpdateAll()

void mitk::RenderingManager::ForceImmediateUpdateAll ( RequestType  type = REQUEST_UPDATE_ALL)

Immediately execute a synchronous update for all registered render windows.

Parameters
[in]typeFilter to update only specific window types (default: all).

◆ GenerateRenderingRequestEvent()

virtual void mitk::RenderingManager::GenerateRenderingRequestEvent ( )
protectedpure virtual

Abstract method for generating a system specific event for rendering request. This method is called whenever an update is requested

Implemented in QmitkRenderingManager, and mitk::TestingRenderingManager.

◆ GetAllRegisteredRenderWindows()

const RenderWindowVector& mitk::RenderingManager::GetAllRegisteredRenderWindows ( )

Get all registered vtkRenderWindows.

Returns
Const reference to the vector of registered render windows.

◆ GetAntiAliasing()

virtual AntiAliasing mitk::RenderingManager::GetAntiAliasing ( ) const
virtual

◆ GetClippingPlaneStatus()

bool mitk::RenderingManager::GetClippingPlaneStatus ( )

Get the clipping plane status.

Returns
True if the clipping plane is enabled.

◆ GetConstrainedPanningZooming()

virtual bool mitk::RenderingManager::GetConstrainedPanningZooming ( ) const
virtual

◆ GetDataStorage() [1/2]

virtual DataStorage* mitk::RenderingManager::GetDataStorage ( )
virtual

Getter for internal DataStorage.

Returns the DataStorage that is used internally. This instance holds all DataNodes that are rendered by the registered BaseRenderers.

◆ GetDataStorage() [2/2]

virtual DataStorage* mitk::RenderingManager::GetDataStorage ( ) const
virtual

◆ GetFactory()

static const RenderingManagerFactory* mitk::RenderingManager::GetFactory ( )
static

Get the factory that produces platform-specific RenderingManager instances.

Returns
Pointer to the current factory.

◆ GetFocusedRenderWindow()

virtual vtkRenderWindow* mitk::RenderingManager::GetFocusedRenderWindow ( )
virtual

◆ GetInstance()

static RenderingManager* mitk::RenderingManager::GetInstance ( )
static

Get the RenderingManager singleton instance.

If no instance exists yet, one is created using the registered factory.

Returns
Pointer to the singleton RenderingManager.

Referenced by QmitkTransferFunctionCanvas::SetX(), and QmitkTransferFunctionCanvas::SetY().

◆ GetLODAbortMechanismEnabled()

virtual bool mitk::RenderingManager::GetLODAbortMechanismEnabled ( )
virtual

Get whether the LOD abort mechanism is enabled.

◆ GetLODIncreaseBlocked()

virtual bool mitk::RenderingManager::GetLODIncreaseBlocked ( )
virtual

Get whether LOD increase is blocked globally.

◆ GetNextLOD()

int mitk::RenderingManager::GetNextLOD ( BaseRenderer *  renderer)

Get the next LOD level for the given renderer.

Parameters
[in]rendererThe renderer to query (nullptr returns 0).
Returns
The next LOD level.

◆ GetProperty()

BaseProperty* mitk::RenderingManager::GetProperty ( const char *  propertyKey) const

Get a property from the internal property list.

Parameters
[in]propertyKeyThe property key to look up.
Returns
Pointer to the property, or nullptr if not found.

◆ GetPropertyList()

PropertyList::Pointer mitk::RenderingManager::GetPropertyList ( ) const

Get the internal property list used for global rendering settings.

Returns
Smart pointer to the PropertyList.

◆ GetShading()

bool mitk::RenderingManager::GetShading ( unsigned int  lod)

Get the shading state for a specific LOD level.

Parameters
[in]lodThe LOD level.
Returns
True if shading is enabled for the given LOD.

◆ GetShadingValues()

FloatVector& mitk::RenderingManager::GetShadingValues ( )

Get the current shading values.

Returns
Reference to the vector of shading values [ambient, diffuse, specular, specpower].

◆ GetTimeNavigationController() [1/2]

TimeNavigationController* mitk::RenderingManager::GetTimeNavigationController ( )

Gets the (global) TimeNavigationController responsible for time-slicing.

◆ GetTimeNavigationController() [2/2]

const TimeNavigationController* mitk::RenderingManager::GetTimeNavigationController ( ) const

Gets the (global) TimeNavigationController responsible for time-slicing.

◆ HasFactory()

static bool mitk::RenderingManager::HasFactory ( )
static

Check whether a factory has already been set.

Returns
True if a factory is registered.

Referenced by mitk::TestingRenderingManagerFactory::TestingRenderingManagerFactory().

◆ InitializePropertyList()

virtual void mitk::RenderingManager::InitializePropertyList ( )
protectedvirtual

◆ InitializeView() [1/3]

virtual bool mitk::RenderingManager::InitializeView ( vtkRenderWindow *  renderWindow)
virtual

Initialize the specified render window to the default viewing direction without updating the geometry information.

Parameters
renderWindowThe specific render window to update

◆ InitializeView() [2/3]

virtual bool mitk::RenderingManager::InitializeView ( vtkRenderWindow *  renderWindow,
const BaseGeometry *  geometry,
bool  resetCamera = true 
)
virtual

Initialize the specified render window to the given geometry.

Throws an exception if bounding box has 0 extent due to exceeding double precision range.

Parameters
renderWindowThe specific render window to update
geometryThe geometry to be used to initialize / update the render window's time- and slice navigation controller
resetCameraIf this parameter is set to true, the camera controller will be set / fit to the center of the rendered image. If set to false, only the the slice navigation controller is reset to the geometry without changing the camera view / position.

◆ InitializeView() [3/3]

virtual bool mitk::RenderingManager::InitializeView ( vtkRenderWindow *  renderWindow,
const TimeGeometry *  geometry,
bool  resetCamera = true 
)
virtual

Initialize the specified render window to the given geometry.

Throws an exception if bounding box has 0 extent due to exceeding double precision range.

Parameters
renderWindowThe specific render window to update
geometryThe geometry to be used to initialize / update the render window's time- and slice navigation controller
resetCameraIf this parameter is set to true, the camera controller will be set / fit to the center of the rendered image. If set to false, only the the slice navigation controller is reset to the geometry without changing the camera view / position.

◆ InitializeViewByBoundingObjects()

virtual void mitk::RenderingManager::InitializeViewByBoundingObjects ( vtkRenderWindow *  renderWindow,
const DataStorage *  dataStorage,
bool  resetCamera = true 
)
virtual

Initialize the given render window by the aggregated geometry of all objects that are held in the data storage.

Parameters
renderWindowThe specified render window to update
dataStorageThe data storage from which the bounding object can be retrieved
resetCameraIf this parameter is set to true, the camera controller will be set / fit to the center of the rendered image. If set to false, only the the slice navigation controller is reset to the geometry without changing the camera view / position.

◆ InitializeViews() [1/3]

virtual bool mitk::RenderingManager::InitializeViews ( const BaseGeometry *  geometry,
RequestType  type = REQUEST_UPDATE_ALL,
bool  resetCamera = true 
)
virtual

Initialize the render windows specified by "type" to the given geometry.

Throws an exception if bounding box has 0 extent due to exceeding double precision range.

Parameters
geometryThe geometry to be used to initialize / update a render window's time and slice navigation controller
typeThe type of update request:
  • REQUEST_UPDATE_ALL will initialize / update the time and slice navigation controller of all retrieved render windows
  • REQUEST_UPDATE_2DWINDOWS will only initialize / update the time and slice navigation controller of 2D render windows
  • REQUEST_UPDATE_3DWINDOWS will only initialize / update the time and slice navigation controller of 3D render windows
resetCameraIf this parameter is set to true, the camera controller will be set / fit to the center of the rendered image. If set to false, only the the slice navigation controller is reset to the geometry without changing the camera view / position.

◆ InitializeViews() [2/3]

virtual bool mitk::RenderingManager::InitializeViews ( const TimeGeometry *  geometry,
RequestType  type = REQUEST_UPDATE_ALL,
bool  resetCamera = true 
)
virtual

Initialize the render windows specified by "type" to the given geometry.

Throws an exception if bounding box has 0 extent due to exceeding double precision range.

Parameters
geometryThe geometry to be used to initialize / update a render window's time- and slice navigation controller
typeThe type of update request:
  • REQUEST_UPDATE_ALL will initialize / update the time- and slice navigation controller of all retrieved render windows
  • REQUEST_UPDATE_2DWINDOWS will only initialize / update the time- and slice navigation controller of 2D render windows
  • REQUEST_UPDATE_3DWINDOWS will only initialize / update the time- and slice navigation controller of 3D render windows
resetCameraIf this parameter is set to true, the camera controller will be set / fit to the center of the rendered image. If set to false, only the the slice navigation controller is reset to the geometry without changing the camera view / position.

◆ InitializeViews() [3/3]

virtual bool mitk::RenderingManager::InitializeViews ( RequestType  type = REQUEST_UPDATE_ALL)
virtual

Initialize the render windows specified by "type" to the default viewing direction without updating the geometry information.

Parameters
typeThe type of update request:
  • REQUEST_UPDATE_ALL will initialize the slice navigation controller of all retrieved render windows
  • REQUEST_UPDATE_2DWINDOWS will only initialize the slice navigation controller of 2D render windows
  • REQUEST_UPDATE_3DWINDOWS will only initialize the slice navigation controller of 3D render windows

◆ InitializeViewsByBoundingObjects()

virtual void mitk::RenderingManager::InitializeViewsByBoundingObjects ( const DataStorage *  dataStorage)
virtual

Initialize the render windows by the aggregated geometry of all objects that are held in the data storage.

Parameters
dataStorageThe data storage from which the bounding object can be retrieved

◆ IsInstantiated()

static bool mitk::RenderingManager::IsInstantiated ( )
static

Check whether the singleton instance already exists.

Returns
True if the singleton is instantiated.

◆ IsRendering()

bool mitk::RenderingManager::IsRendering ( ) const

Check whether any registered render window is currently rendering.

Returns
True if rendering is in progress.

◆ LODAbortMechanismEnabledOff()

virtual void mitk::RenderingManager::LODAbortMechanismEnabledOff ( )
virtual

◆ LODAbortMechanismEnabledOn()

virtual void mitk::RenderingManager::LODAbortMechanismEnabledOn ( )
virtual

Toggle the LOD abort mechanism.

◆ LODIncreaseBlockedOff()

virtual void mitk::RenderingManager::LODIncreaseBlockedOff ( )
virtual

◆ LODIncreaseBlockedOn()

virtual void mitk::RenderingManager::LODIncreaseBlockedOn ( )
virtual

Toggle LOD increase blocking.

◆ mitkClassMacroItkParent()

mitk::RenderingManager::mitkClassMacroItkParent ( RenderingManager  ,
itk::Object   
)

◆ New()

static Pointer mitk::RenderingManager::New ( )
static

Create a new RenderingManager instance via the registered factory.

Returns
Smart pointer to the newly created instance, or nullptr if no factory is set.

◆ RemoveRenderWindow()

void mitk::RenderingManager::RemoveRenderWindow ( vtkRenderWindow *  renderWindow)

Unregister a vtkRenderWindow from this RenderingManager.

Parameters
[in]renderWindowThe render window to remove.

◆ RenderingEndCallback()

static void mitk::RenderingManager::RenderingEndCallback ( vtkObject *  caller,
unsigned long  eid,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ RenderingProgressCallback()

static void mitk::RenderingManager::RenderingProgressCallback ( vtkObject *  caller,
unsigned long  eid,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ RenderingStartCallback()

static void mitk::RenderingManager::RenderingStartCallback ( vtkObject *  caller,
unsigned long  eid,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ RequestUpdate()

void mitk::RenderingManager::RequestUpdate ( vtkRenderWindow *  renderWindow)

Request a deferred update for the specified render window.

The update is executed at the next event loop iteration. Multiple requests for the same window are coalesced.

Parameters
[in]renderWindowThe render window to update.

◆ RequestUpdateAll()

void mitk::RenderingManager::RequestUpdateAll ( RequestType  type = REQUEST_UPDATE_ALL)

Request a deferred update for all registered render windows.

Parameters
[in]typeFilter to update only specific window types (default: all).

Referenced by QmitkTransferFunctionCanvas::SetX(), and QmitkTransferFunctionCanvas::SetY().

◆ SetAntiAliasing()

void mitk::RenderingManager::SetAntiAliasing ( AntiAliasing  antiAliasing)

◆ SetClippingPlaneStatus()

void mitk::RenderingManager::SetClippingPlaneStatus ( bool  status)

Enable or disable the clipping plane.

Parameters
[in]statusTrue to enable, false to disable.

◆ SetConstrainedPanningZooming()

void mitk::RenderingManager::SetConstrainedPanningZooming ( bool  constrain)

◆ SetDataStorage()

void mitk::RenderingManager::SetDataStorage ( DataStorage *  storage)

Setter for internal DataStorage.

Sets the DataStorage that is used internally. This instance holds all DataNodes that are rendered by the registered BaseRenderers.

If this DataStorage is changed at runtime by calling SetDataStorage(), all currently registered BaseRenderers are automatically given the correct instance. When a new BaseRenderer is added, it is automatically initialized with the currently active DataStorage.

◆ SetFactory()

static void mitk::RenderingManager::SetFactory ( RenderingManagerFactory *  factory)
static

Set the factory that produces platform-specific RenderingManager instances.

Parameters
[in]factoryThe factory to use.

Referenced by mitk::TestingRenderingManagerFactory::TestingRenderingManagerFactory().

◆ SetLODAbortMechanismEnabled()

virtual void mitk::RenderingManager::SetLODAbortMechanismEnabled ( bool  _arg)
virtual

Set whether the LOD abort mechanism is enabled.

◆ SetLODIncreaseBlocked()

virtual void mitk::RenderingManager::SetLODIncreaseBlocked ( bool  _arg)
virtual

Set whether LOD increase is blocked globally.

◆ SetMaximumLOD()

void mitk::RenderingManager::SetMaximumLOD ( unsigned int  max)

Set the maximum LOD level.

Parameters
[in]maxThe maximum LOD value.

◆ SetProperty()

void mitk::RenderingManager::SetProperty ( const char *  propertyKey,
BaseProperty *  propertyValue 
)

Set or add a property in the internal property list.

Parameters
[in]propertyKeyThe property key.
[in]propertyValueThe property value to set.

◆ SetRenderWindowFocus()

void mitk::RenderingManager::SetRenderWindowFocus ( vtkRenderWindow *  focusWindow)

Sets a flag to the given renderwindow to indicated that it has the focus e.g. has been clicked recently.

Parameters
focusWindow

◆ SetShading()

void mitk::RenderingManager::SetShading ( bool  state,
unsigned int  lod 
)

Enable or disable shading for a specific LOD level.

Parameters
[in]stateTrue to enable, false to disable.
[in]lodThe LOD level.

◆ SetShadingValues()

void mitk::RenderingManager::SetShadingValues ( float  ambient,
float  diffuse,
float  specular,
float  specpower 
)

Set the shading values for rendering.

Parameters
[in]ambientAmbient coefficient.
[in]diffuseDiffuse coefficient.
[in]specularSpecular coefficient.
[in]specpowerSpecular power.

◆ StartOrResetTimer()

virtual void mitk::RenderingManager::StartOrResetTimer ( )
inlinevirtual

Start or reset a timer for a pending high-resolution rendering request. Subclasses should override.

Reimplemented in QmitkRenderingManager.

Definition at line 355 of file mitkRenderingManager.h.

Member Data Documentation

◆ m_AllRenderWindows

RenderWindowVector mitk::RenderingManager::m_AllRenderWindows
protected

Definition at line 519 of file mitkRenderingManager.h.

◆ m_ClippingPlaneEnabled

bool mitk::RenderingManager::m_ClippingPlaneEnabled
protected

Definition at line 508 of file mitkRenderingManager.h.

◆ m_ConstrainedPanningZooming

bool mitk::RenderingManager::m_ConstrainedPanningZooming
protected

Definition at line 539 of file mitkRenderingManager.h.

◆ m_DataStorage

DataStoragePointer mitk::RenderingManager::m_DataStorage
protected

Definition at line 537 of file mitkRenderingManager.h.

◆ m_LODAbortMechanismEnabled

bool mitk::RenderingManager::m_LODAbortMechanismEnabled
protected

Definition at line 504 of file mitkRenderingManager.h.

◆ m_LODIncreaseBlocked

bool mitk::RenderingManager::m_LODIncreaseBlocked
protected

Definition at line 502 of file mitkRenderingManager.h.

◆ m_MaxLOD

unsigned int mitk::RenderingManager::m_MaxLOD
protected

Definition at line 500 of file mitkRenderingManager.h.

◆ m_NextLODMap

RendererIntMap mitk::RenderingManager::m_NextLODMap
protected

Definition at line 498 of file mitkRenderingManager.h.

◆ m_PropertyList

PropertyList::Pointer mitk::RenderingManager::m_PropertyList
protected

Definition at line 535 of file mitkRenderingManager.h.

◆ m_RenderingAbortedMap

RendererBoolMap mitk::RenderingManager::m_RenderingAbortedMap
protected

Definition at line 496 of file mitkRenderingManager.h.

◆ m_RenderWindowCallbacksList

RenderWindowCallbacksList mitk::RenderingManager::m_RenderWindowCallbacksList
protected

Definition at line 528 of file mitkRenderingManager.h.

◆ m_RenderWindowList

RenderWindowList mitk::RenderingManager::m_RenderWindowList
protected

Definition at line 518 of file mitkRenderingManager.h.

◆ m_ShadingEnabled

BoolVector mitk::RenderingManager::m_ShadingEnabled
protected

Definition at line 506 of file mitkRenderingManager.h.

◆ m_ShadingValues

FloatVector mitk::RenderingManager::m_ShadingValues
protected

Definition at line 510 of file mitkRenderingManager.h.

◆ m_TimeNavigationController

itk::SmartPointer<TimeNavigationController> mitk::RenderingManager::m_TimeNavigationController
protected

Definition at line 530 of file mitkRenderingManager.h.

◆ m_UpdatePending

bool mitk::RenderingManager::m_UpdatePending
protected

Definition at line 491 of file mitkRenderingManager.h.

◆ s_Instance

RenderingManager::Pointer mitk::RenderingManager::s_Instance
staticprotected

Definition at line 532 of file mitkRenderingManager.h.

◆ s_RenderingManagerFactory

RenderingManagerFactory* mitk::RenderingManager::s_RenderingManagerFactory
staticprotected

Definition at line 533 of file mitkRenderingManager.h.


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