00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://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 #ifndef MITKVTKINTERACTORCAMERACONTROLLER_H_HEADER_INCLUDED_C1C53722 00020 #define MITKVTKINTERACTORCAMERACONTROLLER_H_HEADER_INCLUDED_C1C53722 00021 00022 #include "mitkCommon.h" 00023 #include "mitkCameraController.h" 00024 #include "vtkRenderWindowInteractor.h" 00025 00026 class vtkRenderWindow; 00027 00028 namespace mitk { 00029 00030 //##Documentation 00031 //## @brief vtk-based camera controller 00032 //## @ingroup NavigationControl 00033 class MITK_CORE_EXPORT VtkInteractorCameraController : public CameraController 00034 { 00035 public: 00036 mitkClassMacro(VtkInteractorCameraController, CameraController); 00037 itkNewMacro(Self); 00038 00039 //##Documentation 00040 //## @brief Returns the vtkRenderWindowInteractor used internally by this CameraController 00041 vtkRenderWindowInteractor* GetVtkInteractor(); 00042 00043 virtual void Resize(int w, int h); 00044 virtual void MousePressEvent(mitk::MouseEvent*); 00045 virtual void MouseReleaseEvent(mitk::MouseEvent*); 00046 virtual void MouseMoveEvent(mitk::MouseEvent*); 00047 virtual void KeyPressEvent(mitk::KeyEvent*); 00048 00049 //##Documentation 00050 //## @brief Set the BaseRenderer to be controlled by this vtk-based camera controller 00051 virtual void SetRenderer(const mitk::BaseRenderer* renderer); 00052 00053 protected: 00057 VtkInteractorCameraController(const char* type = NULL); 00058 00062 virtual ~VtkInteractorCameraController(); 00063 00064 // virtual bool ExecuteAction(Action* action, mitk::StateEvent const* stateEvent); 00065 00066 vtkRenderWindowInteractor* m_VtkInteractor; 00067 }; 00068 00069 } // namespace mitk 00070 00071 #endif /* MITKVTKINTERACTORCAMERACONTROLLER_H_HEADER_INCLUDED_C1C53722 */