00001 00002 00003 #ifndef _VUNORMALTABLE_H_ 00004 #define _VUNORMALTABLE_H_ 00005 00006 #include "vuSimpleTypes.h" 00007 #include "vuNormalBlock.h" 00008 00009 class vuNormalTable 00010 { 00011 public: 00013 vuNormalTable(); 00015 vuNormalTable(const vuNormalTable& inst); 00017 ~vuNormalTable(); 00018 00020 00023 void setCollection(const float* n, dword size); 00025 00027 void initCollection(dword size); 00029 void addToCollection(const float* n); 00030 00032 void computeTable(void); 00034 void destroyTable(void); 00035 00037 00041 dword findNearest(const float* n); 00042 00044 vuNormalTable& operator=(const vuNormalTable& rhs); 00046 const float* operator[](dword index); 00047 00048 private: 00050 vuNormalBlock* m_Block; 00051 00052 float* m_Table; 00054 dword m_Size; 00055 }; 00056 00057 #endif