Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _mitk_Image_Background2D_h_
00019 #define _mitk_Image_Background2D_h_
00020
00021 #include "mitkVideoSource.h"
00022 #include "MitkExtExports.h"
00023
00024 #include "mitkConfig.h"
00025
00026 class vtkRenderer;
00027 class vtkRenderWindow;
00028 class vtkImageActor;
00029 class vtkImageImport;
00030 class vtkVideoSizeCallback;
00031
00032 namespace mitk
00033 {
00034
00035 class RenderWindow;
00036
00044 class MitkExt_EXPORT ImageBackground2D : public itk::Object
00045 {
00046 public:
00047 mitkClassMacro( ImageBackground2D, itk::Object );
00048 itkNewMacro( Self );
00049
00052 vtkRenderWindow* GetRenderWindow();
00056 void SetRenderWindow(vtkRenderWindow* renderWindow);
00060 void SetImageDimensions(int x, int y, int nrOfScalarComponents)
00061 {
00062 m_ImageWidth = x;
00063 m_ImageHeight = y;
00064 m_ImageScalarComponents = nrOfScalarComponents;
00065 InitVtkImageImport();
00066 }
00067
00068 void SetParallelScale(int scale);
00069 int GetParallelScale();
00070
00071 void Update(char * dataPointer);
00072 void Update(char * dataPointer, int width, int height, int imageScalarComponents);
00073
00076 void Enable();
00079 void Disable();
00082 bool IsEnabled();
00083
00084 protected:
00085 ImageBackground2D();
00086 ~ImageBackground2D();
00087
00088 void InitVtkImageImport();
00089
00090 vtkRenderWindow* m_RenderWindow;
00091 vtkRenderer* m_ImageRenderer;
00092 vtkImageActor* m_Actor;
00093 vtkImageImport* m_VtkImageImport;
00094
00095
00096 vtkVideoSizeCallback * m_SizeCallback;
00097
00098 unsigned char * m_ImageData;
00099
00100 int m_ImageWidth, m_ImageHeight, m_ImageScalarComponents, m_ParallelScale;
00101 };
00102 }
00103
00104 #endif
00105
00106