21 #ifndef GF_HEIGHTMAP_H 22 #define GF_HEIGHTMAP_H 27 #include "ColorRamp.h" 30 #include "Portability.h" 34 #ifndef DOXYGEN_SHOULD_SKIP_THIS 59 return m_data.getSize();
76 return m_data(position);
86 m_data(position) = value;
94 std::tuple<double, double> getMinMax()
const;
107 void normalize(
double min = 0.0,
double max = 1.0);
116 void addHill(
Vector2d center,
double radius,
double height);
125 void digHill(
Vector2d center,
double radius,
double height);
140 void addValue(
double value);
147 void scale(
double value);
156 void clamp(
double min = 0.0,
double max = 1.0);
177 double getSlope(
Vector2i position)
const;
186 void thermalErosion(
unsigned iterations,
double talus,
double fraction);
197 void hydraulicErosion(
unsigned iterations,
double rainAmount,
double solubility,
double evaporation,
double capacity);
206 void fastErosion(
unsigned iterations,
double talus,
double fraction);
215 double getErosionScore()
const;
250 Image copyToGrayscaleImage()
const;
268 Image copyToColoredImage(
const ColorRampD& ramp,
double waterLevel = 0.5,
Render render = Render::Colored)
const;
278 #ifndef DOXYGEN_SHOULD_SKIP_THIS 283 #endif // GF_HEIGHTMAP_H void setValue(Vector2i position, double value)
Set the value at the specified position.
Definition: Heightmap.h:85
void scale(Matrix3f &mat, Vector2f factor)
Combine the current transform with a scaling.
A heightmap.
Definition: Heightmap.h:44
2D A noise function
Definition: Noise.h:35
constexpr T clamp(T val, T lo, T hi)
Clamping function.
Definition: Math.h:286
Vector2i getSize() const
Get the size of the heightmap.
Definition: Heightmap.h:58
Render
Rendering mode.
Definition: Heightmap.h:224
Class for loading, manipulating and saving images.
Definition: Image.h:80
The namespace for gf classes.
Definition: Action.h:35
double getValue(Vector2i position) const
Get the value at the specified position.
Definition: Heightmap.h:75
A color ramp.
Definition: ColorRamp.h:49