Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes

mitk::RenderingManager Class Reference

Manager for coordinating the rendering process. More...

#include <mitkRenderingManager.h>

Inheritance diagram for mitk::RenderingManager:
Inheritance graph
[legend]
Collaboration diagram for mitk::RenderingManager:
Collaboration graph
[legend]

List of all members.

Classes

struct  RenderWindowCallbacks

Public Types

enum  RequestType { REQUEST_UPDATE_ALL = 0, REQUEST_UPDATE_2DWINDOWS, REQUEST_UPDATE_3DWINDOWS }
typedef std::vector
< vtkRenderWindow * > 
RenderWindowVector
typedef std::vector< float > FloatVector
typedef std::vector< bool > BoolVector
typedef itk::SmartPointer
< DataStorage
DataStoragePointer
typedef itk::SmartPointer
< GlobalInteraction
GlobalInteractionPointer

Public Member Functions

 mitkClassMacro (RenderingManager, itk::Object)
void AddRenderWindow (vtkRenderWindow *renderWindow)
void RemoveRenderWindow (vtkRenderWindow *renderWindow)
const RenderWindowVectorGetAllRegisteredRenderWindows ()
void RequestUpdate (vtkRenderWindow *renderWindow)
void ForceImmediateUpdate (vtkRenderWindow *renderWindow)
void RequestUpdateAll (RequestType type=REQUEST_UPDATE_ALL)
void ForceImmediateUpdateAll (RequestType type=REQUEST_UPDATE_ALL)
virtual bool InitializeViews (const Geometry3D *geometry, RequestType type=REQUEST_UPDATE_ALL, bool preserveRoughOrientationInWorldSpace=false)
virtual bool InitializeViews (RequestType type=REQUEST_UPDATE_ALL)
virtual bool InitializeView (vtkRenderWindow *renderWindow, const Geometry3D *geometry, bool initializeGlobalTimeSNC=false)
virtual bool InitializeView (vtkRenderWindow *renderWindow)
void SetTimeNavigationController (SliceNavigationController *nc)
const SliceNavigationControllerGetTimeNavigationController () const
SliceNavigationControllerGetTimeNavigationController ()
virtual ~RenderingManager ()
virtual void ExecutePendingRequests ()
bool IsRendering () const
void AbortRendering ()
virtual void SetLODIncreaseBlocked (bool _arg)
virtual bool GetLODIncreaseBlocked ()
virtual void LODIncreaseBlockedOn ()
virtual void LODIncreaseBlockedOff ()
virtual void SetLODAbortMechanismEnabled (bool _arg)
virtual bool GetLODAbortMechanismEnabled ()
virtual void LODAbortMechanismEnabledOn ()
virtual void LODAbortMechanismEnabledOff ()
void SetDepthPeelingEnabled (bool enabled)
void SetMaxNumberOfPeels (int maxNumber)
virtual void DoStartRendering ()
virtual void DoMonitorRendering ()
virtual void DoFinishAbortRendering ()
int GetNextLOD (BaseRenderer *renderer)
void SetNextLOD (unsigned int lod, BaseRenderer *renderer=NULL)
void SetMaximumLOD (unsigned int max)
void SetShading (bool state, unsigned int lod)
bool GetShading (unsigned int lod)
void SetClippingPlaneStatus (bool status)
bool GetClippingPlaneStatus ()
void SetShadingValues (float ambient, float diffuse, float specular, float specpower)
FloatVectorGetShadingValues ()
PropertyList::Pointer GetPropertyList () const
BasePropertyGetProperty (const char *propertyKey) const
void SetProperty (const char *propertyKey, BaseProperty *propertyValue)
void SetDataStorage (mitk::DataStorage *storage)
 Setter / Getter for internal DataStorage.
mitk::DataStorageGetDataStorage ()
 Setter / Getter for internal DataStorage.
void SetGlobalInteraction (mitk::GlobalInteraction *globalInteraction)
 Setter / Getter for internal GloabInteraction.
mitk::GlobalInteractionGetGlobalInteraction ()
 Setter / Getter for internal GloabInteraction.

Static Public Member Functions

static Pointer New ()
static void SetFactory (RenderingManagerFactory *factory)
static const
RenderingManagerFactory
GetFactory ()
static bool HasFactory ()
static RenderingManagerGetInstance ()
static bool IsInstantiated ()

Protected Types

enum  { RENDERING_INACTIVE = 0, 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
SliceNavigationControllerm_TimeNavigationController
PropertyList::Pointer m_PropertyList
DataStoragePointer m_DataStorage
GlobalInteractionPointer m_GlobalInteraction

Static Protected Attributes

static RenderingManager::Pointer s_Instance = 0
static RenderingManagerFactorys_RenderingManagerFactory = 0

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).

Convinience methods for updating all RenderWindows which have been registered with the RenderingManager exist. If theses 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 issueing 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 82 of file mitkRenderingManager.h.


Member Typedef Documentation

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

Definition at line 90 of file mitkRenderingManager.h.

Definition at line 92 of file mitkRenderingManager.h.

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

Definition at line 89 of file mitkRenderingManager.h.

Definition at line 93 of file mitkRenderingManager.h.

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

Definition at line 321 of file mitkRenderingManager.h.

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

Definition at line 320 of file mitkRenderingManager.h.

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

Definition at line 357 of file mitkRenderingManager.h.

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

Definition at line 347 of file mitkRenderingManager.h.

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

Definition at line 88 of file mitkRenderingManager.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
RENDERING_INACTIVE 
RENDERING_REQUESTED 
RENDERING_INPROGRESS 

Definition at line 303 of file mitkRenderingManager.h.

Enumerator:
REQUEST_UPDATE_ALL 
REQUEST_UPDATE_2DWINDOWS 
REQUEST_UPDATE_3DWINDOWS 

Definition at line 95 of file mitkRenderingManager.h.


Constructor & Destructor Documentation

mitk::RenderingManager::~RenderingManager (  ) [virtual]

Definition at line 46 of file mitkRenderingManager.cpp.

References mitk::GlobalInteraction::GetInstance().

{
  m_ShadingEnabled.assign( 3, false );
  m_ShadingValues.assign( 4, 0.0 );

  m_GlobalInteraction = mitk::GlobalInteraction::GetInstance();

  InitializePropertyList();
}


RenderingManager
::~RenderingManager()
{
  // Decrease reference counts of all registered vtkRenderWindows for
mitk::RenderingManager::RenderingManager (  ) [protected]

Definition at line 27 of file mitkRenderingManager.cpp.

References s_Instance, and s_RenderingManagerFactory.

{

RenderingManager::Pointer RenderingManager::s_Instance = 0;
RenderingManagerFactory *RenderingManager::s_RenderingManagerFactory = 0;


RenderingManager
::RenderingManager()
: m_UpdatePending( false ),
  m_MaxLOD( 1 ),

Member Function Documentation

void mitk::RenderingManager::AbortRendering (  )

Definition at line 799 of file mitkRenderingManager.cpp.

  {
    if ( it->second == RENDERING_INPROGRESS )
    {
      return true;
    }
  }
  return false;
}


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

Adds a RenderWindow. This is required if the methods RequestUpdateAll or ForceImmediateUpdate are to be used.

Definition at line 134 of file mitkRenderingManager.cpp.

References s_Instance.

Referenced by mitk::RenderWindowBase::Initialize().

{
  if ( RenderingManager::s_Instance )
    return true;
  else
    return false;
}


void
RenderingManager
::AddRenderWindow( vtkRenderWindow *renderWindow )
{
  if ( renderWindow
    && (m_RenderWindowList.find( renderWindow ) == m_RenderWindowList.end()) )
  {
    m_RenderWindowList[renderWindow] = RENDERING_INACTIVE;
    m_AllRenderWindows.push_back( renderWindow );

    if ( m_DataStorage.IsNotNull() )
      mitk::BaseRenderer::GetInstance( renderWindow )->SetDataStorage( m_DataStorage.GetPointer() );

    // Register vtkRenderWindow instance
    renderWindow->Register( NULL );

    typedef itk::MemberCommand< RenderingManager > MemberCommandType;

    // Add callbacks for rendering abort mechanism
    //BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
    vtkCallbackCommand *startCallbackCommand = vtkCallbackCommand::New();
    startCallbackCommand->SetCallback(
      RenderingManager::RenderingStartCallback );
    renderWindow->AddObserver( vtkCommand::StartEvent, startCallbackCommand );

    vtkCallbackCommand *progressCallbackCommand = vtkCallbackCommand::New();
    progressCallbackCommand->SetCallback(
      RenderingManager::RenderingProgressCallback );
    renderWindow->AddObserver( vtkCommand::AbortCheckEvent, progressCallbackCommand );

    vtkCallbackCommand *endCallbackCommand = vtkCallbackCommand::New();
    endCallbackCommand->SetCallback(
      RenderingManager::RenderingEndCallback );
    renderWindow->AddObserver( vtkCommand::EndEvent, endCallbackCommand );

    RenderWindowCallbacks callbacks;
virtual void mitk::RenderingManager::DoFinishAbortRendering (  ) [inline, virtual]

Reimplemented in QmitkRenderingManager.

Definition at line 230 of file mitkRenderingManager.h.

{};
virtual void mitk::RenderingManager::DoMonitorRendering (  ) [inline, virtual]

Reimplemented in QmitkRenderingManager.

Definition at line 229 of file mitkRenderingManager.h.

Referenced by RenderingEndCallback().

{};
virtual void mitk::RenderingManager::DoStartRendering (  ) [inline, virtual]

Definition at line 228 of file mitkRenderingManager.h.

{};
void mitk::RenderingManager::ExecutePendingRequests (  ) [virtual]

Executes all pending requests. This method has to be called by the system whenever a RenderingManager induced request event occurs in the system pipeline (see concrete RenderingManager implementations).

Definition at line 653 of file mitkRenderingManager.cpp.

References m_TimeNavigationController.

void mitk::RenderingManager::ForceImmediateUpdate ( vtkRenderWindow *  renderWindow )
void mitk::RenderingManager::ForceImmediateUpdateAll ( RequestType  type = REQUEST_UPDATE_ALL )

Immediately executes an update of all registered RenderWindows. If only 2D or 3D windows should be updated, this can be specified via the parameter requestType.

Definition at line 267 of file mitkRenderingManager.cpp.

    {
      this->RequestUpdate( it->first );
    }
  }
}


void
RenderingManager
::ForceImmediateUpdateAll( RequestType type )
{
  RenderWindowList::iterator it;
  for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
  {
    int id = BaseRenderer::GetInstance(it->first)->GetMapperID();
    if ( (type == REQUEST_UPDATE_ALL)
      || ((type == REQUEST_UPDATE_2DWINDOWS) && (id == 1))
      || ((type == REQUEST_UPDATE_3DWINDOWS) && (id == 2)) )
    {
      //it->second = RENDERING_INPROGRESS;

      // Immediately repaint this window (implementation platform specific)
      // If the size is 0, it crashes
virtual void mitk::RenderingManager::GenerateRenderingRequestEvent (  ) [protected, pure virtual]

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

Implemented in mitk::TestingRenderingManager, and QmitkRenderingManager.

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

Get a list of all registered RenderWindows

Definition at line 207 of file mitkRenderingManager.cpp.

Referenced by mitk::FeedbackContourTool::FeedbackContourTool().

bool mitk::RenderingManager::GetClippingPlaneStatus (  )

Definition at line 896 of file mitkRenderingManager.cpp.

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

Setter / Getter for internal DataStorage.

Sets / returns the mitk::DataStorage that is used internally. This instance holds all mitk::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.

Definition at line 982 of file mitkRenderingManager.cpp.

References m_DataStorage.

{
  if ( storage != NULL )
  {
    m_DataStorage = storage;
const RenderingManagerFactory * mitk::RenderingManager::GetFactory (  ) [static]

Get the object factory which produces the platform specific RenderingManager instances.

Definition at line 74 of file mitkRenderingManager.cpp.

mitk::GlobalInteraction * mitk::RenderingManager::GetGlobalInteraction (  )

Setter / Getter for internal GloabInteraction.

Sets / returns the instance of mitk::GlobalInteraction that is internally held. It'S not actually used by this class but offers it to all registered BaseRenderers. These need it for their own internal initialization of the FocusManager and the corresponding EventMappers.

Definition at line 996 of file mitkRenderingManager.cpp.

References m_DataStorage.

{
  return m_DataStorage;
}

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

Get the RenderingManager singleton instance.

Examples:
mitkMoveSurfaceInteractor.cpp, Step1.cpp, Step10.cpp, Step2.cpp, Step3.cpp, Step6.cpp, Step7.cpp, and Step8.cpp.

Definition at line 107 of file mitkRenderingManager.cpp.

References mitk::RenderingManagerFactory::CreateRenderingManager().

Referenced by QmitkSlicesInterpolator::AcceptAllInterpolations(), mitk::BinaryThresholdULTool::AcceptCurrentThresholdValue(), mitk::BinaryThresholdTool::AcceptCurrentThresholdValue(), mitk::MorphologicTool::AcceptPreview(), QmitkSegmentationView::Activated(), QmitkRigidRegistrationView::Activated(), QmitkPointBasedRegistrationView::Activated(), QmitkDeformableRegistrationView::Activated(), QmitkMeasurement::AddFigureToDataStorage(), QmitkDataStorageTreeModel::AdjustLayerProperty(), QmitkDeformableRegistrationView::ApplyDeformationField(), QmitkPointBasedRegistrationView::calculateLandmarkbased(), QmitkPointBasedRegistrationView::calculateLandmarkbasedWithICP(), QmitkPointBasedRegistrationView::calculateLandmarkWarping(), QmitkRigidRegistrationSelectorView::CalculateTransformation(), QmitkBSplineRegistrationView::CalculateTransformation(), QmitkLevelWindowWidgetContextMenu::changeScaleRange(), QmitkPointListView::ClearPointList(), QmitkDataManagerView::ColorChanged(), QmitkBoundingObjectWidget::CreateBoundingObject(), QmitkImageCropper::CreateNewBoundingObject(), QmitkStdMultiWidgetEditor::CreateQtPartControl(), QmitkMovieMaker::CreateQtPartControl(), QmitkSegmentationView::Deactivated(), QmitkPointBasedRegistrationView::Deactivated(), QmitkImageCropper::Deactivated(), mitk::MorphologicTool::Deactivated(), mitk::BinaryThresholdULTool::Deactivated(), mitk::BinaryThresholdTool::Deactivated(), QmitkDiffusionDicomImport::DicomLoadStartLoad(), QmitkControlVisualizationPropertiesView::DisplayIndexChanged(), QmitkColorTransferFunctionCanvas::DoubleClickOnHandle(), QmitkToolReferenceDataSelectionBox::EnsureOnlyReferenceImageIsVisibile(), QmitkPropertyDelegate::eventFilter(), mitk::SurfaceDeformationInteractor3D::ExecuteAction(), mitk::SlicesRotator::ExecuteAction(), mitk::PositionTracker::ExecuteAction(), mitk::PointSetInteractor::ExecuteAction(), mitk::MoveSurfaceInteractor::ExecuteAction(), mitk::AffineInteractor::ExecuteAction(), QmitkImageCropper::ExecuteOperation(), mitk::SeedsImage::ExecuteOperation(), mitk::DiffImageApplier::ExecuteOperation(), mitk::FeedbackContourTool::FeedbackContourTool(), QmitkDataManagerView::FileOpen(), QmitkRigidRegistrationView::FixedSelected(), QmitkPointBasedRegistrationView::FixedSelected(), QmitkDeformableRegistrationView::FixedSelected(), QmitkMovieMaker::FocusChange(), QmitkSegmentationView::ForceDisplayPreferencesUponAllImages(), QmitkStdMultiWidget::ForceImmediateUpdate(), mitk::VolumeDataVtkMapper3D::GenerateData(), mitk::CompositeMapper::GenerateData(), mitk::GPUVolumeMapper3D::GenerateDataCPU(), mitk::GPUVolumeMapper3D::GenerateDataGPU(), QmitkMovieMaker::GenerateMovie(), QmitkDataManagerView::GlobalReinit(), QmitkPointBasedRegistrationView::HideFixedImage(), QmitkPointBasedRegistrationView::HideMovingImage(), mitk::RenderWindowBase::Initialize(), QmitkStdMultiWidget::InitializeStandardViews(), InitializeView(), QmitkStdMultiWidget::InitializeWidget(), QmitkSimpleExampleView::initNavigators(), QmitkSliceWidget::InitWidget(), mitk::SegmentationSink::InsertBelowGroupNode(), QmitkRegionGrowingView::ItkImageProcessing(), QmitkTransferFunctionCanvas::keyPressEvent(), main(), mitkCameraVisualizationTest(), mitkContourMapper2DTest(), mitkEventTest(), mitkFocusManagerTest(), mitkRenderingManagerTest(), mitk::CompositeMapper::MitkRenderOpaqueGeometry(), QmitkTransferFunctionCanvas::mouseMoveEvent(), QmitkSliderLevelWindowWidget::mouseMoveEvent(), QmitkTransferFunctionCanvas::mousePressEvent(), QmitkTransferFunctionCanvas::mouseReleaseEvent(), QmitkStdMultiWidget::MoveCrossToPosition(), QmitkPointListViewWidget::MoveSelectedPointDown(), QmitkPointListModel::MoveSelectedPointDown(), QmitkPointListViewWidget::MoveSelectedPointUp(), QmitkPointListModel::MoveSelectedPointUp(), QmitkRigidRegistrationView::MovingSelected(), QmitkPointBasedRegistrationView::MovingSelected(), QmitkDeformableRegistrationView::MovingSelected(), QmitkDataManagerView::NodeSelectionChanged(), QmitkSlicesInterpolator::OnAcceptInterpolationClicked(), QmitkPropertyListPopup::onBoolPropertyClicked(), QmitkPointListWidget::OnBtnLoadPoints(), QmitkPropertyListPopup::onColorClicked(), QmitkColorPropertyEditor::onColorSelected(), QmitkTransferFunctionGeneratorWidget::OnDeltaLevelWindow(), QmitkTransferFunctionGeneratorWidget::OnDeltaThreshold(), QmitkVolumeVisualizationView::OnEnableLOD(), QmitkVolumeVisualizationView::OnEnableRendering(), QmitkVolumetryView::OnImageSelected(), QmitkSlicesInterpolator::OnInterpolationActivated(), mitk::SetRegionTool::OnInvertLogic(), QmitkBoundingObjectWidget::OnItemDataChanged(), QmitkPointListView::OnListViewSelectionChanged(), QmitkTransferFunctionGeneratorWidget::OnLoadPreset(), QmitkTransferFunctionGeneratorWidget::OnMitkInternalPreset(), mitk::RegionGrowingTool::OnMouseMoved(), mitk::PaintbrushTool::OnMouseMoved(), mitk::CorrectorTool2D::OnMouseMoved(), mitk::ContourTool::OnMouseMoved(), mitk::SetRegionTool::OnMousePressed(), mitk::ContourTool::OnMousePressed(), mitk::RegionGrowingTool::OnMousePressedInside(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::SetRegionTool::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), QmitkVolumeVisualizationView::OnRenderMode(), QmitkViewInitializationView::OnResetAll(), mitk::SpaceNavigatorVtkCameraController::OnSpaceNavigatorEvent(), mitk::SpaceNavigatorVtkCameraController::OnSpaceNavigatorKeyDown(), QmitkIGTRecorderView::OnStartRecording(), mitk::TDMouseVtkCameraController::OnTDMouseEvent(), mitk::TDMouseVtkCameraController::OnTDMouseKeyDown(), QmitkIGTExampleView::OnTestNavigation(), QmitkVolumetryView::OnThresholdSliderChanged(), QmitkImageGuidedTherapyTutorialView::OnTimer(), QmitkBoolPropertyEditor::onToggle(), QmitkNumberPropertySlider::onValueChanged(), QmitkNumberPropertyEditor::onValueChanged(), QmitkPropertyListPopup::onVisibleClicked(), QmitkDataManagerView::OpacityChanged(), QmitkRigidRegistrationView::OpacityUpdate(), QmitkPointBasedRegistrationView::OpacityUpdate(), QmitkDeformableRegistrationView::OpacityUpdate(), QmitkMeasurement::PlanarFigureSelectionChanged(), QmitkNumberPropertySlider::PropertyChanged(), QmitkNumberPropertyEditor::PropertyChanged(), QmitkSelectableGLWidget::QmitkSelectableGLWidget(), QmitkIGTRecorderView::RecordFrame(), mitk::UndoController::Redo(), mitk::LimitedLinearUndo::Redo(), QmitkRigidRegistrationView::RedoTransformation(), QmitkPointBasedRegistrationView::RedoTransformation(), QmitkControlVisualizationPropertiesView::Reinit(), QmitkDataManagerView::ReinitSelectedNodes(), QmitkPointListViewWidget::RemoveSelectedPoint(), QmitkPointListModel::RemoveSelectedPoint(), QmitkToolPairNavigationView::RenderScene(), QmitkStdMultiWidget::RequestUpdate(), QmitkStdMultiWidget::ResetCrosshair(), QmitkRigidRegistrationView::Rotate(), mitk::CameraRotationController::RotateCamera(), QmitkFileOpenAction::Run(), QmitkExtFileOpenAction::Run(), mitk::SceneIO::SaveScene(), QmitkRigidRegistrationView::Scale(), mitk::VolumeDataVtkMapper3D::SetClippingPlane(), QmitkPropertiesTableModel::setData(), QmitkDataStorageTreeModel::setData(), QmitkDataStorageTableModel::setData(), QmitkLevelWindowWidgetContextMenu::setDefaultLevelWindow(), QmitkLevelWindowWidgetContextMenu::setDefaultScaleRange(), QmitkBoundingObjectWidget::setEnabled(), SetGlobalInteraction(), QmitkRigidRegistrationView::SetImageColor(), QmitkPointBasedRegistrationView::setImageColor(), QmitkDeformableRegistrationView::SetImageColor(), QmitkLevelWindowWidgetContextMenu::setMaximumWindow(), QmitkRigidRegistrationSelectorView::SetOptimizerValue(), QmitkLevelWindowWidgetContextMenu::setPreset(), QmitkMovieMaker::SetRecordingWindow(), QmitkMovieMaker::SetStepperWindow(), mitk::BinaryThresholdTool::SetThresholdValue(), mitk::BinaryThresholdULTool::SetThresholdValues(), Step8::SetupWidgets(), QmitkStdMultiWidget::SetWidgetPlaneMode(), QmitkStdMultiWidget::SetWidgetPlanesVisibility(), QmitkTransferFunctionCanvas::SetX(), QmitkTransferFunctionWidget::SetXValueColor(), QmitkTransferFunctionWidget::SetXValueGradient(), QmitkTransferFunctionWidget::SetXValueScalar(), QmitkTransferFunctionCanvas::SetY(), QmitkTransferFunctionWidget::SetYValueGradient(), QmitkTransferFunctionWidget::SetYValueScalar(), QmitkThresholdComponent::ShowThreshold(), QmitkProgressBar::SlotAddStepsToDo(), QmitkProgressBar::SlotProgress(), QmitkBasicImageProcessing::StartButton2Clicked(), QmitkBasicImageProcessing::StartButtonClicked(), Step7::StartRegionGrowing(), Step6::StartRegionGrowing(), QmitkDataManagerView::SurfaceRepresentationActionToggled(), mitkDataNodeTestClass::TestSelected(), QmitkDataManagerView::TextureInterpolationToggled(), QmitkSegmentationPostProcessing::ThresholdingDone(), QmitkThresholdComponent::ThresholdSliderChanged(), QmitkThresholdComponent::ThresholdValueChanged(), QmitkRigidRegistrationView::Translate(), mitk::UndoController::Undo(), mitk::LimitedLinearUndo::Undo(), QmitkRigidRegistrationView::UndoTransformation(), QmitkPointBasedRegistrationView::UndoTransformation(), QmitkSliceWidget::UpdateGL(), mitk::MorphologicTool::UpdatePreview(), QmitkRigidRegistrationView::UpdateTimestep(), QmitkVideoBackground::UpdateVideo(), QmitkSlicesInterpolator::UpdateVisibleSuggestion(), QmitkLevelWindowWidgetContextMenu::useAllGreyvaluesFromImage(), mitk::MovieGenerator::WriteCurrentFrameToMovie(), and mitk::MovieGenerator::WriteMovie().

{
  const RenderingManagerFactory* factory = GetFactory();
  if(factory == NULL)
    return NULL;
  return factory->CreateRenderingManager();
}

RenderingManager *
virtual bool mitk::RenderingManager::GetLODAbortMechanismEnabled (  ) [virtual]

En-/Disable LOD abort mechanism.

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

En-/Disable LOD increase globally.

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

Definition at line 815 of file mitkRenderingManager.cpp.

References mitk::BaseRenderer::GetInstance().

Referenced by mitk::GPUVolumeMapper3D::GenerateDataCPU().

  {
    if ( it->second == RENDERING_INPROGRESS )
    {
      it->first->SetAbortRender( true );
      m_RenderingAbortedMap[BaseRenderer::GetInstance(it->first)] = true;
    }
  }
}


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

returns a property from m_PropertyList

Definition at line 957 of file mitkRenderingManager.cpp.

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

Returns a property list

Definition at line 952 of file mitkRenderingManager.cpp.

References m_PropertyList.

Referenced by QmitkOverlayController::AddOverlay().

{
  if (m_PropertyList.IsNull())
bool mitk::RenderingManager::GetShading ( unsigned int  lod )

Definition at line 874 of file mitkRenderingManager.cpp.

{
  if(lod>m_MaxLOD)
  {
    itkWarningMacro(<<"LOD out of range requested: " << lod << " maxLOD: " << m_MaxLOD);
    return;
  }
  m_ShadingEnabled[lod] = state;

RenderingManager::FloatVector & mitk::RenderingManager::GetShadingValues (  )

Definition at line 915 of file mitkRenderingManager.cpp.

{
SliceNavigationController * mitk::RenderingManager::GetTimeNavigationController (  )

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

Definition at line 647 of file mitkRenderingManager.cpp.

References m_TimeNavigationController.

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

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

Definition at line 641 of file mitkRenderingManager.cpp.

References mitk::SliceNavigationController::Update().

  {
    nc->Update();
  }
bool mitk::RenderingManager::HasFactory (  ) [static]

Returns true if a factory has already been set.

Definition at line 82 of file mitkRenderingManager.cpp.

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

void mitk::RenderingManager::InitializePropertyList (  ) [protected, virtual]

Definition at line 940 of file mitkRenderingManager.cpp.

{
  RenderWindowList::iterator it;
  for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
  {
    mitk::BaseRenderer *baseRenderer = mitk::BaseRenderer::GetInstance( it->first );
    baseRenderer->SetMaxNumberOfPeels(maxNumber);
  }
bool mitk::RenderingManager::InitializeView ( vtkRenderWindow *  renderWindow,
const Geometry3D geometry,
bool  initializeGlobalTimeSNC = false 
) [virtual]

Initializes the specified window to the geometry of the given DataNode. Set "initializeGlobalTimeSNC" to true in order to use this geometry as global TimeSlicedGeometry. PLATFORM SPECIFIC. Initializes the specified window to the given geometry. Set "initializeGlobalTimeSNC" to true in order to use this geometry as global TimeSlicedGeometry. PLATFORM SPECIFIC.

Definition at line 546 of file mitkRenderingManager.cpp.

References mitk::Geometry3D::GetBoundingBox(), GetInstance(), mitk::BaseRenderer::GetMapperID(), and m_TimeNavigationController.

{
  bool boundingBoxInitialized = false;

  int warningLevel = vtkObject::GetGlobalWarningDisplay();
  vtkObject::GlobalWarningDisplayOff();

  if ( (geometry != NULL ) && (const_cast< mitk::BoundingBox * >(
   geometry->GetBoundingBox())->GetDiagonalLength2() > mitk::eps) )
  {
   boundingBoxInitialized = true;
  }

  mitk::BaseRenderer *baseRenderer =
   mitk::BaseRenderer::GetInstance( renderWindow );

  int id = baseRenderer->GetMapperID();

  this->InternalViewInitialization( baseRenderer, geometry,
   boundingBoxInitialized, id );

  if ( m_TimeNavigationController != NULL )
  {
bool mitk::RenderingManager::InitializeView ( vtkRenderWindow *  renderWindow ) [virtual]

Initializes the specified window to the default viewing direction (geomtry information is NOT changed). PLATFORM SPECIFIC.

Definition at line 584 of file mitkRenderingManager.cpp.

{
  mitk::BaseRenderer *baseRenderer =
      mitk::BaseRenderer::GetInstance( renderWindow );

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

Initializes the windows to the default viewing direction (geomtry information is NOT changed). PLATFORM SPECIFIC.

Definition at line 482 of file mitkRenderingManager.cpp.

{
  RenderWindowList::iterator it;
  for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
  {
    mitk::BaseRenderer *baseRenderer =
      mitk::BaseRenderer::GetInstance( it->first );
    int id = baseRenderer->GetMapperID();
    if ( (type == REQUEST_UPDATE_ALL)
      || ((type == REQUEST_UPDATE_2DWINDOWS) && (id == 1))
      || ((type == REQUEST_UPDATE_3DWINDOWS) && (id == 2)) )
    {

      mitk::SliceNavigationController *nc =

      baseRenderer->GetSliceNavigationController();
bool mitk::RenderingManager::InitializeViews ( const Geometry3D geometry,
RequestType  type = REQUEST_UPDATE_ALL,
bool  preserveRoughOrientationInWorldSpace = false 
) [virtual]

Initializes the windows specified by requestType to the geometry of the given DataStorage. Initializes the windows specified by requestType to the given geometry. PLATFORM SPECIFIC.

Definition at line 332 of file mitkRenderingManager.cpp.

References mitk::Geometry3D::Clone(), mitk::BaseRenderer::GetInstance(), mitk::BaseRenderer::GetMapperID(), QuadProgPP::max(), min, MITK_DEBUG, itk::AffineGeometryFrame< TScalarType, NDimensions >::New(), and sign().

{
  MITK_DEBUG << "initializing views";

  bool boundingBoxInitialized = false;

  Geometry3D::ConstPointer geometry = dataGeometry;

  if (dataGeometry && preserveRoughOrientationInWorldSpace)
  {

    // clone the input geometry
    Geometry3D::Pointer modifiedGeometry = dynamic_cast<Geometry3D*>( dataGeometry->Clone().GetPointer() );
    assert(modifiedGeometry.IsNotNull());

    // construct an affine transform from it
    AffineGeometryFrame3D::TransformType::Pointer transform = AffineGeometryFrame3D::TransformType::New();
    assert( modifiedGeometry->GetIndexToWorldTransform() );
    transform->SetMatrix( modifiedGeometry->GetIndexToWorldTransform()->GetMatrix() );
    transform->SetOffset( modifiedGeometry->GetIndexToWorldTransform()->GetOffset() );

    // get transform matrix
    AffineGeometryFrame3D::TransformType::MatrixType::InternalMatrixType& oldMatrix =
      const_cast< AffineGeometryFrame3D::TransformType::MatrixType::InternalMatrixType& > ( transform->GetMatrix().GetVnlMatrix() );
    AffineGeometryFrame3D::TransformType::MatrixType::InternalMatrixType newMatrix(oldMatrix);

    // get offset and bound
    Vector3D offset = modifiedGeometry->GetIndexToWorldTransform()->GetOffset();
    Geometry3D::BoundsArrayType oldBounds = modifiedGeometry->GetBounds();
    Geometry3D::BoundsArrayType newBounds = modifiedGeometry->GetBounds();

    // get rid of rotation other than pi/2 degree
    for ( unsigned int i = 0; i < 3; ++i )
    {

      // i-th column of the direction matrix
      Vector3D currentVector;
      currentVector[0] = oldMatrix(0,i);
      currentVector[1] = oldMatrix(1,i);
      currentVector[2] = oldMatrix(2,i);

      // matchingRow will store the row that holds the biggest
      // value in the column
      unsigned int matchingRow = 0;

      // maximum value in the column
      float max = std::numeric_limits<float>::min();

      // sign of the maximum value (-1 or 1)
      int sign = 1;

      // iterate through the column vector
      for (unsigned int dim = 0; dim < 3; ++dim)
      {
        if ( fabs(currentVector[dim]) > max )
        {
          matchingRow = dim;
          max = fabs(currentVector[dim]);
          if(currentVector[dim]<0)
            sign = -1;
          else
            sign = 1;
        }
      }

      // in case we found a negative maximum,
      // we negate the column and adjust the offset
      // (in order to run through the dimension in the opposite direction)
      if(sign == -1)
      {
        currentVector *= sign;
        offset += modifiedGeometry->GetAxisVector(i);
      }


      // matchingRow is now used as column index to place currentVector
      // correctly in the new matrix
      vnl_vector<ScalarType> newMatrixColumn(3);
      newMatrixColumn[0] = currentVector[0];
      newMatrixColumn[1] = currentVector[1];
      newMatrixColumn[2] = currentVector[2];
      newMatrix.set_column( matchingRow, newMatrixColumn );

      // if a column is moved, we also have to adjust the bounding
      // box accordingly, this is done here
      newBounds[2*matchingRow  ] = oldBounds[2*i  ];
      newBounds[2*matchingRow+1] = oldBounds[2*i+1];
    }

    // set the newly calculated bounds array
    modifiedGeometry->SetBounds(newBounds);

    // set new offset and direction matrix
    AffineGeometryFrame3D::TransformType::MatrixType newMatrixITK( newMatrix );
    transform->SetMatrix( newMatrixITK );
    transform->SetOffset( offset );
    modifiedGeometry->SetIndexToWorldTransform( transform );
    geometry = modifiedGeometry;

  }


  int warningLevel = vtkObject::GetGlobalWarningDisplay();
  vtkObject::GlobalWarningDisplayOff();

  if ( (geometry.IsNotNull() ) && (const_cast< mitk::BoundingBox * >(
    geometry->GetBoundingBox())->GetDiagonalLength2() > mitk::eps) )
  {
    boundingBoxInitialized = true;
  }

  RenderWindowList::iterator it;
  for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
  {
    mitk::BaseRenderer *baseRenderer =
      mitk::BaseRenderer::GetInstance( it->first );
    int id = baseRenderer->GetMapperID();
    if ( ((type == REQUEST_UPDATE_ALL)
      || ((type == REQUEST_UPDATE_2DWINDOWS) && (id == 1))
      || ((type == REQUEST_UPDATE_3DWINDOWS) && (id == 2)))
      )
    {
      this->InternalViewInitialization( baseRenderer, geometry,
        boundingBoxInitialized, id );
    }
  }

  if ( m_TimeNavigationController != NULL )
  {
    if ( boundingBoxInitialized )
    {
      m_TimeNavigationController->SetInputWorldGeometry( geometry );
    }
bool mitk::RenderingManager::IsInstantiated (  ) [static]

Returns true if the singleton instance does already exist.

Definition at line 123 of file mitkRenderingManager.cpp.

  {
    if ( s_RenderingManagerFactory )
    {
      s_Instance = s_RenderingManagerFactory->CreateRenderingManager();
    }
  }

bool mitk::RenderingManager::IsRendering (  ) const

Definition at line 783 of file mitkRenderingManager.cpp.

References RequestUpdate().

        {
          renman->RequestUpdate( renderer->GetRenderWindow() );
        }
      }
    }
  }
}


bool
virtual void mitk::RenderingManager::LODAbortMechanismEnabledOff (  ) [virtual]
virtual void mitk::RenderingManager::LODAbortMechanismEnabledOn (  ) [virtual]

En-/Disable LOD abort mechanism.

virtual void mitk::RenderingManager::LODIncreaseBlockedOff (  ) [virtual]
virtual void mitk::RenderingManager::LODIncreaseBlockedOn (  ) [virtual]

En-/Disable LOD increase globally.

mitk::RenderingManager::mitkClassMacro ( RenderingManager  ,
itk::Object   
)
RenderingManager::Pointer mitk::RenderingManager::New (  ) [static]

Reimplemented in mitk::TestingRenderingManager.

Definition at line 97 of file mitkRenderingManager.cpp.

Referenced by QmitkRenderingManagerFactory::CreateRenderingManager(), mitkPointSetInteractorTest(), and mitkRenderingManagerTest().

  {
    return true;
  }
  else
  {
    return false;
void mitk::RenderingManager::RemoveRenderWindow ( vtkRenderWindow *  renderWindow )

Removes a RenderWindow.

Definition at line 185 of file mitkRenderingManager.cpp.

{
  if (m_RenderWindowList.erase( renderWindow ))
  {
    RenderWindowCallbacksList::iterator callbacks_it = this->m_RenderWindowCallbacksList.find(renderWindow);
void mitk::RenderingManager::RenderingEndCallback ( vtkObject *  caller,
unsigned long  eid,
void *  clientdata,
void *  calldata 
) [static, protected]

Definition at line 708 of file mitkRenderingManager.cpp.

References DoMonitorRendering(), mitk::BaseRenderer::GetInstance(), and mitk::BaseRenderer::GetNumberOfVisibleLODEnabledMappers().

    {
      BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
      if ( renderer && (renderer->GetNumberOfVisibleLODEnabledMappers() > 0) )
      {
        renman->DoMonitorRendering();
      }
    }
  }
}

void
RenderingManager
::RenderingEndCallback( vtkObject *caller, unsigned long , void *, void * )
{
  vtkRenderWindow *renderWindow  = dynamic_cast< vtkRenderWindow * >( caller );
  mitk::RenderingManager* renman = mitk::BaseRenderer::GetInstance(renderWindow)->GetRenderingManager();

  RenderWindowList &renderWindowList = renman->m_RenderWindowList;
  RendererBoolMap &renderingAbortedMap = renman->m_RenderingAbortedMap;
  RendererIntMap &nextLODMap = renman->m_NextLODMap;
  unsigned int &maxLOD = renman->m_MaxLOD;
  bool &lodIncreaseBlocked = renman->m_LODIncreaseBlocked;

  
  if ( renderWindow )
  {
    BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
    if ( renderer )
    {
      renderWindowList[renderer->GetRenderWindow()] = RENDERING_INACTIVE;

      // Level-of-Detail handling
      if ( renderer->GetNumberOfVisibleLODEnabledMappers() > 0 )
      {
        bool newRenderingRequest = false;

        // Check if rendering has been aborted
        if ( renderingAbortedMap[renderer] )
        {
          // YES: reset LOD counter and request next update
          renderingAbortedMap[renderer] = false;
          nextLODMap[renderer] = 0;
          newRenderingRequest = true;
        }
        else
        {
          // NO: Make sure that LOD-increase is currently not blocked
          // (by mouse-movement)
          if ( !lodIncreaseBlocked )
          {
            // Check if the maximum LOD level has already been reached
            if ( nextLODMap[renderer] < maxLOD )
            {
              // NO: increase the level for this renderer...
              nextLODMap[renderer]++;

              // ... and request new update for this window
              newRenderingRequest = true;
            }
            else
            {
              // YES: Reset to level 0 for next rendering request (by user)
              nextLODMap[renderer] = 0;
            }
          }
        }

      
        mitk::RenderingManager* renman = mitk::BaseRenderer::GetInstance(renderWindow)->GetRenderingManager();

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

Definition at line 687 of file mitkRenderingManager.cpp.

References RENDERING_INPROGRESS.

  {
    renderWindowList[renderWindow] = RENDERING_INPROGRESS;
  }

  renman->m_UpdatePending = false;
}


void
RenderingManager
::RenderingProgressCallback( vtkObject *caller, unsigned long , void *, void * )
{
  vtkRenderWindow *renderWindow  = dynamic_cast< vtkRenderWindow * >( caller );
  mitk::RenderingManager* renman = mitk::BaseRenderer::GetInstance(renderWindow)->GetRenderingManager();

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

Definition at line 670 of file mitkRenderingManager.cpp.

References ForceImmediateUpdate(), and RENDERING_REQUESTED.

  {
    if ( it->second == RENDERING_REQUESTED )
    {
      this->ForceImmediateUpdate( it->first );
    }
  }
}


void mitk::RenderingManager::RequestUpdate ( vtkRenderWindow *  renderWindow )
void mitk::RenderingManager::RequestUpdateAll ( RequestType  type = REQUEST_UPDATE_ALL )

Requests all currently registered RenderWindows to be updated. If only 2D or 3D windows should be updated, this can be specified via the parameter requestType.

Examples:
mitkMoveSurfaceInteractor.cpp.

Definition at line 249 of file mitkRenderingManager.cpp.

Referenced by mitk::BinaryThresholdULTool::AcceptCurrentThresholdValue(), mitk::BinaryThresholdTool::AcceptCurrentThresholdValue(), mitk::MorphologicTool::AcceptPreview(), mitk::MorphologicTool::Deactivated(), mitk::BinaryThresholdULTool::Deactivated(), mitk::BinaryThresholdTool::Deactivated(), mitk::SurfaceDeformationInteractor3D::ExecuteAction(), mitk::SlicesRotator::ExecuteAction(), mitk::PositionTracker::ExecuteAction(), mitk::PointSetInteractor::ExecuteAction(), mitk::PlanarFigureInteractor::ExecuteAction(), mitk::MoveSurfaceInteractor::ExecuteAction(), mitk::AffineInteractor::ExecuteAction(), mitk::SeedsImage::ExecuteOperation(), mitk::DiffImageApplier::ExecuteOperation(), mitk::SegmentationSink::InsertBelowGroupNode(), mitk::SpaceNavigatorVtkCameraController::OnSpaceNavigatorKeyDown(), mitk::TDMouseVtkCameraController::OnTDMouseKeyDown(), mitk::UndoController::Redo(), mitk::LimitedLinearUndo::Redo(), mitk::CameraController::SetStandardView(), mitk::BinaryThresholdTool::SetThresholdValue(), mitk::BinaryThresholdULTool::SetThresholdValues(), mitk::UndoController::Undo(), mitk::LimitedLinearUndo::Undo(), and mitk::MorphologicTool::UpdatePreview().

  {
    // Execute rendering
    renderWindow->Render();
  }
}


void
RenderingManager
::RequestUpdateAll( RequestType type )
void mitk::RenderingManager::SetClippingPlaneStatus ( bool  status )

Definition at line 888 of file mitkRenderingManager.cpp.

Referenced by mitk::VolumeDataVtkMapper3D::GenerateData().

{
  if(lod>m_MaxLOD)
  {
    itkWarningMacro(<<"LOD out of range requested: " << lod << " maxLOD: " << m_MaxLOD);
void mitk::RenderingManager::SetDataStorage ( mitk::DataStorage storage )

Setter / Getter for internal DataStorage.

Sets / returns the mitk::DataStorage that is used internally. This instance holds all mitk::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.

Definition at line 968 of file mitkRenderingManager.cpp.

Referenced by SetGlobalInteraction().

{
  return m_PropertyList->GetProperty(propertyKey);
}

void RenderingManager::SetProperty(const char *propertyKey, BaseProperty* propertyValue)
{
  m_PropertyList->SetProperty(propertyKey, propertyValue);
}


void mitk::RenderingManager::SetDepthPeelingEnabled ( bool  enabled )

En-/Disable depth peeling for all renderers

Definition at line 920 of file mitkRenderingManager.cpp.

{
void mitk::RenderingManager::SetFactory ( RenderingManagerFactory factory ) [static]

Set the object factory which produces the desired platform specific RenderingManager singleton instance.

Definition at line 66 of file mitkRenderingManager.cpp.

Referenced by QmitkRenderingManagerFactory::QmitkRenderingManagerFactory(), and mitk::TestingRenderingManagerFactory::TestingRenderingManagerFactory().

void mitk::RenderingManager::SetGlobalInteraction ( mitk::GlobalInteraction globalInteraction )

Setter / Getter for internal GloabInteraction.

Sets / returns the instance of mitk::GlobalInteraction that is internally held. It'S not actually used by this class but offers it to all registered BaseRenderers. These need it for their own internal initialization of the FocusManager and the corresponding EventMappers.

Definition at line 988 of file mitkRenderingManager.cpp.

References GetInstance(), m_DataStorage, and SetDataStorage().

    {
      mitk::BaseRenderer::GetInstance( (*iter) )->SetDataStorage( m_DataStorage.GetPointer() );
    }
  }
}

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

En-/Disable LOD abort mechanism.

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

En-/Disable LOD increase globally.

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

Definition at line 852 of file mitkRenderingManager.cpp.

References mitk::BaseRenderer::GetInstance().

  {
    // Set next LOD for all renderers
    RenderWindowList::iterator it;
    for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
void mitk::RenderingManager::SetMaxNumberOfPeels ( int  maxNumber )

Set maximum number of peels for all renderers

Definition at line 930 of file mitkRenderingManager.cpp.

{
  RenderWindowList::iterator it;
  for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
  {
    mitk::BaseRenderer *baseRenderer = mitk::BaseRenderer::GetInstance( it->first );
void mitk::RenderingManager::SetNextLOD ( unsigned int  lod,
BaseRenderer renderer = NULL 
)

Set current LOD (NULL means all renderers)

Definition at line 830 of file mitkRenderingManager.cpp.

Referenced by mitk::VolumeDataVtkMapper3D::GenerateData().

  {
    return m_NextLODMap[renderer];
  }
  else
  {
    return 0;
  }
}


void
RenderingManager
::SetNextLOD( unsigned int lod, BaseRenderer *renderer )
{
  unsigned int newLOD = lod < m_MaxLOD ? lod : m_MaxLOD;

  if ( renderer != NULL )
void mitk::RenderingManager::SetProperty ( const char *  propertyKey,
BaseProperty propertyValue 
)

returns sets or adds (if not present) a property in m_PropertyList

Definition at line 962 of file mitkRenderingManager.cpp.

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

Definition at line 861 of file mitkRenderingManager.cpp.

References QuadProgPP::max().

Referenced by mitk::VolumeDataVtkMapper3D::GenerateData().

{
  m_MaxLOD = max;
}


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

Definition at line 904 of file mitkRenderingManager.cpp.

Referenced by mitk::VolumeDataVtkMapper3D::GenerateData().

{
void mitk::RenderingManager::SetTimeNavigationController ( SliceNavigationController nc )

Sets the (global) SliceNavigationController responsible for time-slicing.

Definition at line 635 of file mitkRenderingManager.cpp.

  {

Member Data Documentation

Definition at line 350 of file mitkRenderingManager.h.

Definition at line 336 of file mitkRenderingManager.h.

Definition at line 370 of file mitkRenderingManager.h.

Definition at line 332 of file mitkRenderingManager.h.

Definition at line 330 of file mitkRenderingManager.h.

unsigned int mitk::RenderingManager::m_MaxLOD [protected]

Definition at line 328 of file mitkRenderingManager.h.

Definition at line 326 of file mitkRenderingManager.h.

Definition at line 366 of file mitkRenderingManager.h.

Referenced by GetPropertyList().

Definition at line 324 of file mitkRenderingManager.h.

Definition at line 359 of file mitkRenderingManager.h.

Definition at line 349 of file mitkRenderingManager.h.

Definition at line 334 of file mitkRenderingManager.h.

Definition at line 338 of file mitkRenderingManager.h.

Definition at line 318 of file mitkRenderingManager.h.

RenderingManager::Pointer mitk::RenderingManager::s_Instance = 0 [static, protected]

Definition at line 363 of file mitkRenderingManager.h.

Referenced by AddRenderWindow(), and RenderingManager().

Definition at line 364 of file mitkRenderingManager.h.

Referenced by RenderingManager().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines