00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2010-07-05 09:49:37 +0200 (Mo, 05 Jul 2010) $ 00006 Version: $Revision: 24298 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 #include "mitkRenderWindow.h" 00020 00021 #include "mitkDisplayPositionEvent.h" 00022 #include "mitkVtkLayerController.h" 00023 #include "mitkRenderingManager.h" 00024 #include "vtkRenderer.h" 00025 #include "vtkRenderWindowInteractor.h" 00026 #include "mitkVtkEventProvider.h" 00027 00028 00029 mitk::RenderWindow::RenderWindow(vtkRenderWindow* renWin, const char* name ) 00030 : m_vtkRenderWindow(renWin) 00031 { 00032 00033 if(m_vtkRenderWindow == NULL) 00034 m_vtkRenderWindow = vtkRenderWindow::New(); 00035 00036 m_vtkRenderWindowInteractor = vtkRenderWindowInteractor::New(); 00037 00038 // initialize from RenderWindowBase 00039 Initialize(NULL,name); 00040 00041 m_vtkMitkEventProvider = vtkEventProvider::New(); 00042 m_vtkMitkEventProvider->SetInteractor(this->GetVtkRenderWindowInteractor()); 00043 m_vtkMitkEventProvider->SetMitkRenderWindow(this); 00044 m_vtkMitkEventProvider->SetEnabled(1); 00045 00046 m_vtkRenderWindowInteractor->SetRenderWindow(m_vtkRenderWindow); 00047 m_vtkRenderWindowInteractor->Initialize(); 00048 } 00049 00050 mitk::RenderWindow::~RenderWindow() 00051 { 00052 Destroy(); 00053 m_vtkRenderWindow->Delete(); 00054 m_vtkRenderWindowInteractor->Delete(); 00055 m_vtkMitkEventProvider->Delete(); 00056 } 00057 00058 vtkRenderWindow* mitk::RenderWindow::GetVtkRenderWindow() 00059 { 00060 return m_vtkRenderWindow; 00061 } 00062 00063 vtkRenderWindowInteractor* mitk::RenderWindow::GetVtkRenderWindowInteractor() 00064 { 00065 return m_vtkRenderWindowInteractor; 00066 } 00067