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 #ifndef CAMERAVISUALIZATION_H_INCLUDED 00019 #define CAMERAVISUALIZATION_H_INCLUDED 00020 00021 #include "mitkCommon.h" 00022 #include "mitkNavigationDataToNavigationDataFilter.h" 00023 #include "mitkBaseRenderer.h" 00024 00025 namespace mitk { class MitkIGT_EXPORT CameraVisualization : public NavigationDataToNavigationDataFilter 00034 { 00035 public: 00036 mitkClassMacro(CameraVisualization, NavigationDataToNavigationDataFilter); 00037 itkNewMacro(Self); 00038 00042 itkSetMacro(DirectionOfProjectionInToolCoordinates, mitk::Vector3D); 00043 00047 itkSetMacro(ViewUpInToolCoordinates, mitk::Vector3D); 00048 00052 itkSetMacro(FocalLength, float); 00053 00057 itkSetMacro(ViewAngle, float); 00058 00062 itkGetConstMacro(DirectionOfProjectionInToolCoordinates, mitk::Vector3D); 00063 00067 itkGetConstMacro(ViewUpInToolCoordinates, mitk::Vector3D); 00068 00072 itkGetConstMacro(FocalLength, float); 00073 00077 itkGetConstMacro(ViewAngle, float); 00078 00082 virtual void SetRenderer( mitk::BaseRenderer* renderer ); 00083 00087 virtual const mitk::BaseRenderer* GetRenderer(); 00088 00098 virtual void SetParameters(const mitk::PropertyList* p); 00099 00112 mitk::PropertyList::ConstPointer GetParameters() const; 00113 00114 protected: 00115 CameraVisualization(); 00116 virtual ~CameraVisualization(); 00117 00123 virtual void GenerateData(); 00124 00125 mitk::BaseRenderer::Pointer m_Renderer; 00126 00127 Vector3D m_DirectionOfProjectionInToolCoordinates; 00128 Vector3D m_ViewUpInToolCoordinates; 00129 float m_FocalLength; 00130 float m_ViewAngle; 00131 }; 00132 } // namespace mitk 00133 #endif