Go to the documentation of this file.00001 
00002 
00003 #define DEFAULT_ARRAY_X                 30
00004 #define DEFAULT_ARRAY_Y                 40
00005 #define DEFAULT_GRID_DENSITY    10
00006 
00007 class CDataClass
00008 {
00009 public :
00010         CDataClass()
00011         {
00012                 m_nArraySizeX = DEFAULT_ARRAY_X;
00013                 m_nArraySizeY = DEFAULT_ARRAY_Y;
00014                 m_nGridDensity = DEFAULT_GRID_DENSITY;
00015                 m_fMaxHeight = 255.0f;
00016 
00017                 
00018                 m_fGridSize = 5.0f;
00019 
00020                 m_pfArrayData = 0;
00021                 m_pfVertexArray = 0;
00022         }
00023         ~CDataClass()
00024         {
00025                 ClearAllArray();
00026         }
00027 
00028 private :
00029         int             m_nArraySizeX;
00030         int             m_nArraySizeY;
00031         int             m_nGridDensity;
00032         float   m_fMaxHeight;
00033         float   m_fGridSize;
00034 
00035         float*  m_pfArrayData;
00036         float*  m_pfVertexArray;
00037 
00038 public:
00039         void Init(      int nArraySizeX = DEFAULT_ARRAY_X,
00040                                 int nArraySizeY = DEFAULT_ARRAY_Y, 
00041                                 int nGridDensity = DEFAULT_GRID_DENSITY );
00042         void SetData( int x, int y, float fData );
00043         void ScaleData( float fData );
00044         void Sync();
00045         void InverseArray( bool isPositive );
00046 
00047         inline float*   GetArrayData()                          { return m_pfArrayData; }
00048         inline float*   GetVertexArrayData()            { return m_pfVertexArray; }
00049         inline int              GetArraySizeX()                         { return m_nArraySizeX; }
00050         inline int              GetArraySizeY()                         { return m_nArraySizeY; }
00051         inline int              GetGridDensity()                        { return m_nGridDensity; }
00052         inline void             SetMaxHeight( float fData )     { m_fMaxHeight = fData; }
00053         inline float    GetMaxHeight()                          { return m_fMaxHeight; }
00054         inline void             SetGridSize( float fData )      { m_fGridSize = fData; }
00055         inline float    GetGridSize()                           { return m_fGridSize; }
00056 
00057 private:
00058         void ClearAllArray()
00059         {
00060                 if( m_pfArrayData != 0 )
00061                 {
00062                         delete m_pfArrayData;
00063                         m_pfArrayData = 0;
00064                 }
00065                 if( m_pfVertexArray != 0 )
00066                 {
00067                         delete m_pfVertexArray;
00068                         m_pfVertexArray = 0;
00069                 }
00070         }
00071 
00072 };