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 __mitkOoCSurfaceRendererStandard_h 00012 #define __mitkOoCSurfaceRendererStandard_h 00013 00014 #include "mitkSurfaceRenderer.h" 00015 #include "mitkGeometryTypes.h" 00016 00017 class mitkSurfaceProperty; 00018 class mitkMesh; 00019 00024 class MITK_VISUALIZATION_API mitkOoCSurfaceRendererStandard : public mitkSurfaceRenderer 00025 { 00026 public: 00027 MITK_TYPE(mitkOoCSurfaceRendererStandard, mitkSurfaceRenderer) 00028 00029 virtual void PrintSelf(ostream &os); 00030 00031 mitkOoCSurfaceRendererStandard(); 00032 00033 // WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE 00034 // DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS 00035 // Render the surface 00036 virtual int Render(mitkScene *scene, mitkSurfaceModel *surf); 00037 00038 protected: 00039 virtual ~mitkOoCSurfaceRendererStandard(); 00040 00041 void _setMaterial(mitkSurfaceProperty *prop); 00042 void _drawPoints(unsigned int vertexNum, Vertex3f *vertexData); 00043 void _drawPoints(mitkMesh *mesh); 00044 void _drawWireFrame(unsigned int faceNum, Vertex3f *vertexData); 00045 void _drawWireFrame(mitkMesh *mesh); 00046 void _drawSurface(unsigned int faceNum, Vertex3f *vertexData); 00047 void _drawSurface(mitkMesh *mesh); 00048 00049 private: 00050 mitkOoCSurfaceRendererStandard(const mitkOoCSurfaceRendererStandard&); 00051 void operator = (const mitkOoCSurfaceRendererStandard&); 00052 00053 }; 00054 00055 00056 //#define DEFINED_mitkOoCSurfaceRendererStandard 00057 00058 00059 00060 00061 #endif 00062