2013-11-17 21:36:18 +00:00
|
|
|
#ifndef TERRAINHEIGHTMAP_H
|
|
|
|
#define TERRAINHEIGHTMAP_H
|
|
|
|
|
|
|
|
#include "definition_global.h"
|
|
|
|
|
2014-09-15 10:32:27 +00:00
|
|
|
#include "PaintedGrid.h"
|
2013-11-17 21:36:18 +00:00
|
|
|
|
|
|
|
namespace paysages {
|
|
|
|
namespace definition {
|
|
|
|
|
2014-09-15 10:32:27 +00:00
|
|
|
class DEFINITIONSHARED_EXPORT TerrainHeightMap : public PaintedGrid
|
2013-11-17 21:36:18 +00:00
|
|
|
{
|
|
|
|
public:
|
2014-09-15 10:32:27 +00:00
|
|
|
TerrainHeightMap(TerrainDefinition *terrain);
|
2013-11-17 21:36:18 +00:00
|
|
|
|
2014-09-15 10:32:27 +00:00
|
|
|
virtual void copy(BaseDefinition *destination) const override;
|
2013-11-17 21:36:18 +00:00
|
|
|
|
|
|
|
inline TerrainDefinition* getTerrain() const {return terrain;}
|
|
|
|
|
2014-09-15 10:32:27 +00:00
|
|
|
virtual double getInitialValue(double x, double y) const override;
|
2013-11-17 21:36:18 +00:00
|
|
|
|
2014-09-15 10:32:27 +00:00
|
|
|
void brushElevation(const PaintedGridBrush &brush, double x, double y, double value);
|
|
|
|
void brushSmooth(const PaintedGridBrush &brush, double x, double y, double value);
|
|
|
|
void brushAddNoise(const PaintedGridBrush &brush, double x, double y, NoiseGenerator* generator, double value);
|
|
|
|
void brushReset(const PaintedGridBrush &brush, double x, double y, double value);
|
|
|
|
void brushFlatten(const PaintedGridBrush &brush, double x, double y, double height, double force);
|
2013-11-17 21:36:18 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
TerrainDefinition* terrain;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // TERRAINHEIGHTMAP_H
|