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 __mitkSurfaceRendererUseVA_h 00012 #define __mitkSurfaceRendererUseVA_h 00013 00014 #include "mitkSurfaceRenderer.h" 00015 00016 class mitkSurfaceProperty; 00017 class mitkMesh; 00018 00022 class MITK_VISUALIZATION_API mitkSurfaceRendererUseVA : public mitkSurfaceRenderer 00023 { 00024 public: 00025 MITK_TYPE(mitkSurfaceRendererUseVA, mitkSurfaceRenderer) 00026 00027 virtual void PrintSelf(ostream &os); 00028 00029 mitkSurfaceRendererUseVA(); 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 ~mitkSurfaceRendererUseVA(); 00038 00039 void _setMaterial(mitkSurfaceProperty *prop); 00040 bool _buildArrays(mitkMesh *mesh); 00041 void _clearArrays(); 00042 00043 float *m_Vertices; 00044 unsigned int *m_Faces; 00045 unsigned int *m_Edges; 00046 unsigned long m_VertNum; 00047 unsigned long m_FaceNum; 00048 unsigned long m_EdgeNum; 00049 00050 private: 00051 mitkSurfaceRendererUseVA(const mitkSurfaceRendererUseVA&); 00052 void operator = (const mitkSurfaceRendererUseVA&); 00053 00054 }; 00055 00056 00057 //#define DEFINED_mitkSurfaceRendererUseVA 00058 00059 00060 00061 #endif 00062