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