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