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 MITKSURFACEDATAMAPPER2D_H_HEADER_INCLUDED_C10EB2E8
00020 #define MITKSURFACEDATAMAPPER2D_H_HEADER_INCLUDED_C10EB2E8
00021
00022 #include "mitkCommon.h"
00023 #include "mitkGLMapper2D.h"
00024 #include "mitkSurface.h"
00025
00026 class vtkCutter;
00027 class vtkPlane;
00028 class vtkLookupTable;
00029 class vtkLinearTransform;
00030 class vtkPKdTree;
00031 class vtkStripper;
00032
00033 namespace mitk {
00034
00035 class BaseRenderer;
00036 class Geometry2D;
00037 class DisplayGeometry;
00038
00079 class MITK_CORE_EXPORT SurfaceGLMapper2D : public GLMapper2D
00080 {
00081 public:
00082 mitkClassMacro(SurfaceGLMapper2D, GLMapper2D);
00083
00084 itkNewMacro(Self);
00085
00086 const Surface* GetInput(void);
00087
00088 virtual void Paint(BaseRenderer* renderer);
00089
00096 itkSetConstObjectMacro(Surface, Surface);
00097
00104 itkGetConstObjectMacro(Surface, Surface);
00105
00109 void SetDataNode( DataNode::Pointer node );
00110
00114 void PaintCells(BaseRenderer* renderer, vtkPolyData* contour,
00115 const Geometry2D* worldGeometry,
00116 const DisplayGeometry* displayGeometry,
00117 vtkLinearTransform* vtktransform,
00118 vtkLookupTable* lut = NULL,
00119 vtkPolyData* original3DObject = NULL);
00120
00121 static void SetDefaultProperties(DataNode* node, BaseRenderer* renderer = NULL, bool overwrite = false);
00122
00123 virtual void ApplyProperties(BaseRenderer* renderer);
00124
00125 protected:
00126
00127 SurfaceGLMapper2D();
00128
00129 virtual ~SurfaceGLMapper2D();
00130
00131 vtkPlane* m_Plane;
00132 vtkCutter* m_Cutter;
00133
00134 Surface::ConstPointer m_Surface;
00135
00136 vtkLookupTable* m_LUT;
00137
00138 int m_LineWidth;
00139
00140 vtkPKdTree* m_PointLocator;
00141
00142 vtkStripper* m_Stripper;
00143
00144 bool m_DrawNormals;
00145
00146 float m_FrontSideColor[4];
00147 float m_BackSideColor[4];
00148 float m_LineColor[4];
00149 float m_FrontNormalLengthInPixels;
00150 float m_BackNormalLengthInPixels;
00151 };
00152
00153 }
00154
00155 #endif
00156