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
00019 #ifndef BASEVTKMAPPER3D_H_HEADER_INCLUDED
00020 #define BASEVTKMAPPER3D_H_HEADER_INCLUDED
00021
00022 #include "mitkCommon.h"
00023 #include "mitkMapper.h"
00024 #include "mitkMapper3D.h"
00025 #include "mitkBaseRenderer.h"
00026 #include "vtkMapper.h"
00027
00028 class vtkProp;
00029 class vtkProp3D;
00030 class vtkActor;
00031 class vtkProp3DCollection;
00032
00033 namespace mitk {
00034
00035
00036
00037
00038
00039
00040
00041
00042 class MITK_CORE_EXPORT VtkMapper3D : public Mapper3D
00043 {
00044 public:
00045 mitkClassMacro(VtkMapper3D, Mapper3D);
00046
00047 virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) = 0;
00048
00049 static void SetVtkMapperImmediateModeRendering(vtkMapper *mapper);
00050
00051 virtual void MitkRenderOpaqueGeometry(mitk::BaseRenderer* renderer);
00052 virtual void MitkRenderTranslucentGeometry(mitk::BaseRenderer* renderer);
00053 virtual void MitkRenderOverlay(mitk::BaseRenderer* renderer);
00054
00055 #if ( ( VTK_MAJOR_VERSION >= 5 ) && ( VTK_MINOR_VERSION>=2) )
00056 virtual void MitkRenderVolumetricGeometry(mitk::BaseRenderer* renderer);
00057 #endif
00058
00059
00060
00061
00062
00063
00064 virtual void UpdateVtkTransform(mitk::BaseRenderer *renderer);
00065
00066
00067
00068 virtual void ApplyProperties(vtkActor* actor, mitk::BaseRenderer* renderer);
00069
00074 virtual void ReleaseGraphicsResources(vtkWindow *renWin);
00075
00076
00082 virtual bool HasVtkProp( const vtkProp *prop, BaseRenderer *renderer );
00083
00084
00085 protected:
00086 VtkMapper3D();
00087
00088 virtual ~VtkMapper3D();
00089
00092
00093
00094 public:
00095
00096 itkGetObjectMacro(Geometry,Geometry3D);
00097 itkSetObjectMacro(Geometry,Geometry3D);
00098
00099 protected:
00100 Geometry3D::Pointer m_Geometry;
00101 LevelWindow m_LevelWindow;
00102
00103
00104
00105 };
00106
00107 }
00108
00109 #endif