00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(__INCLUDE_Water2Patchh_INCLUDE__)
00022 #define __INCLUDE_Water2Patchh_INCLUDE__
00023
00024 #include <geomipmap/MipMapPatchIndexs.h>
00025 #include <water/Water2Constants.h>
00026 #include <vector>
00027
00028 class Water2Patch
00029 {
00030 public:
00031 Water2Patch();
00032 ~Water2Patch();
00033
00034 struct Data
00035 {
00036
00037 float x, y, z;
00038 float nx, ny, nz;
00039 };
00040
00041 void generate(Water2Points &heights,
00042 int size, int totalSize,
00043 int posX, int posY,
00044 float waterHeight);
00045 void setBufferOffSet(int offset) { bufferOffSet_ = offset; }
00046 int getBufferOffSet() { return bufferOffSet_; }
00047
00048 void draw(MipMapPatchIndex &index);
00049 Data *getData(int x, int y);
00050 Data *getInternalData() { return data_; }
00051
00052 protected:
00053 int size_, dataSize_;
00054 int bufferOffSet_;
00055 Data *data_;
00056 };
00057
00058 #endif // __INCLUDE_Water2Patchh_INCLUDE__