Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkRenderingManager Class Reference

Qt specific implementation of mitk::RenderingManager. More...

#include <QmitkRenderingManager.h>

Inheritance diagram for QmitkRenderingManager:
Collaboration diagram for QmitkRenderingManager:

Public Member Functions

 mitkClassMacro (QmitkRenderingManager, mitk::RenderingManager)
 
 ~QmitkRenderingManager () override
 
void DoMonitorRendering () override
 Hook called to monitor rendering progress. Override in subclasses. More...
 
void DoFinishAbortRendering () override
 Hook called when rendering abort is finished. Override in subclasses. More...
 
bool event (QEvent *event) override
 
- Public Member Functions inherited from mitk::RenderingManager
 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 ()
 
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...
 
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
 

Protected Slots

void TimerCallback ()
 

Protected Member Functions

 QmitkRenderingManager ()
 
void GenerateRenderingRequestEvent () override
 
void StartOrResetTimer () override
 Start or reset a timer for a pending high-resolution rendering request. Subclasses should override. More...
 
- Protected Member Functions inherited from mitk::RenderingManager
 RenderingManager ()
 
virtual void InitializePropertyList ()
 

Static Protected Member Functions

static Pointer New ()
 
- Static Protected Member Functions inherited from mitk::RenderingManager
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

int pendingTimerCallbacks
 
- Protected Attributes inherited from mitk::RenderingManager
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
 

Additional Inherited Members

- Public Types inherited from mitk::RenderingManager
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
 
- Static Public Member Functions inherited from mitk::RenderingManager
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 inherited from mitk::RenderingManager
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
 
- Static Protected Attributes inherited from mitk::RenderingManager
static RenderingManager::Pointer s_Instance
 
static RenderingManagerFactory * s_RenderingManagerFactory
 

Detailed Description

Qt specific implementation of mitk::RenderingManager.

This implementation defines a QmitkRenderingRequestEvent to realize the rendering request process. The event must be handled by the Qmitk interface to Qt (QmitkRenderWindow).

Note: it may be necessary to remove all pending RenderingRequestEvents from the system's event processing pipeline during system shutdown to make sure that dangling events do not lead to unexpected behavior.

Definition at line 38 of file QmitkRenderingManager.h.

Constructor & Destructor Documentation

◆ ~QmitkRenderingManager()

QmitkRenderingManager::~QmitkRenderingManager ( )
override

◆ QmitkRenderingManager()

QmitkRenderingManager::QmitkRenderingManager ( )
protected

Member Function Documentation

◆ DoFinishAbortRendering()

void QmitkRenderingManager::DoFinishAbortRendering ( )
overridevirtual

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

Reimplemented from mitk::RenderingManager.

◆ DoMonitorRendering()

void QmitkRenderingManager::DoMonitorRendering ( )
overridevirtual

Hook called to monitor rendering progress. Override in subclasses.

Reimplemented from mitk::RenderingManager.

◆ event()

bool QmitkRenderingManager::event ( QEvent *  event)
override

◆ GenerateRenderingRequestEvent()

void QmitkRenderingManager::GenerateRenderingRequestEvent ( )
overrideprotectedvirtual

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

Implements mitk::RenderingManager.

◆ mitkClassMacro()

QmitkRenderingManager::mitkClassMacro ( QmitkRenderingManager  ,
mitk::RenderingManager   
)

◆ New()

static Pointer QmitkRenderingManager::New ( )
staticprotected

◆ StartOrResetTimer()

void QmitkRenderingManager::StartOrResetTimer ( )
overrideprotectedvirtual

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

Reimplemented from mitk::RenderingManager.

◆ TimerCallback

void QmitkRenderingManager::TimerCallback ( )
protectedslot

Member Data Documentation

◆ pendingTimerCallbacks

int QmitkRenderingManager::pendingTimerCallbacks
protected

Definition at line 60 of file QmitkRenderingManager.h.


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