00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkSurfaceRendererStandard_h 00012 #define __mitkSurfaceRendererStandard_h 00013 00014 #include "mitkSurfaceRenderer.h" 00015 00016 class mitkSurfaceProperty; 00017 00022 class MITK_VISUALIZATION_API mitkSurfaceRendererStandard : public mitkSurfaceRenderer 00023 { 00024 public: 00025 MITK_TYPE(mitkSurfaceRendererStandard, mitkSurfaceRenderer) 00026 00027 virtual void PrintSelf(ostream &os); 00028 00029 mitkSurfaceRendererStandard(); 00030 00031 // WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE 00032 // DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS 00033 // Render the surface 00034 virtual int Render(mitkScene *scene, mitkSurfaceModel *surf); 00035 00036 protected: 00037 virtual ~mitkSurfaceRendererStandard(); 00038 00039 void _setMaterial(mitkSurfaceProperty *prop); 00040 void _drawPoints(unsigned int vertexNum, float *vertexData); 00041 void _drawWireFrame(unsigned int faceNum, float *vertexData, unsigned int *faceData); 00042 void _drawSurface(unsigned int faceNum, float *vertexData, unsigned int *faceData); 00043 00044 private: 00045 mitkSurfaceRendererStandard(const mitkSurfaceRendererStandard&); 00046 void operator = (const mitkSurfaceRendererStandard&); 00047 00048 }; 00049 00050 00051 //#define DEFINED_mitkSurfaceRendererStandard 00052 00053 00054 00055 00056 #endif 00057