00001 #ifndef __TerrainGenerator__ 00002 #define __TerrainGenerator__ 00003 00004 #include <string> 00005 00006 #include "Log.h" 00007 00008 00009 class TerrainDatabase; 00010 00011 class TerrainGenerator 00012 { 00013 public: 00014 int width, height, tileSize; 00015 std::string databaseFolder; 00016 00017 TerrainGenerator(int _width, int _height, int _tileSize=128, std::string _databaseFolder="terrainDatabase"); 00018 ~TerrainGenerator(); 00019 bool Generate(); 00020 00021 00022 private: 00023 Log myLog; 00024 TerrainDatabase* database; 00025 float* heightmap; 00026 int dataSize; 00027 00028 void GenerateHeightmap(); 00029 void GenerateHeightmap2(); 00030 void AddLevel(float multiplier, int iterations); 00031 void SaveHeightmap(); 00032 void SaveOutline(); 00033 }; 00034 00035 #endif 00036