27#include "GeometryTypes.h"
36#ifndef DOXYGEN_SHOULD_SKIP_THIS
200#ifndef DOXYGEN_SHOULD_SKIP_THIS
State for the Bresenham's line algorithm.
Definition: Geometry.h:47
bool step(Vector2i &res)
Generate a new point on the line.
Bresenham(Vector2i p0, Vector2i p1)
Constructor.
A heightmap.
Definition: Heightmap.h:44
A convex polygon.
Definition: Polygon.h:47
A set of random utilities.
Definition: Random.h:83
A span.
Definition: Span.h:414
GF_CORE_API std::vector< Vector2i > generateLine(Vector2i p0, Vector2i p1)
Generate a line between two positions.
GF_CORE_API std::vector< Polyline > buildLines(Span< const SegmentI > segments)
Build a set of lines from a set of segments.
GF_CORE_API std::vector< Vector2f > simplifyPoints(Span< const Vector2f > points, float distance=Epsilon)
Simplify a sequence of points.
GF_CORE_API Polygon convexHull(Span< const Vector2f > points)
Compute the convex hull of a set of points.
constexpr float Epsilon
Machine epsilon.
Definition: Math.h:94
GF_CORE_API Heightmap midpointDisplacement2D(Vector2i size, Random &random, Span< const double > initialValues=nullptr)
2D midpoint displacement
GF_CORE_API Heightmap diamondSquare2D(Vector2i size, Random &random, Span< const double > initialValues=nullptr)
2D diamond square
GF_CORE_API std::vector< Vector2f > midpointDisplacement1D(Vector2f p0, Vector2f p1, Random &random, unsigned iterations, Vector2f direction, float initialFactor=1.0f, float reductionFactor=0.5f)
1D midpoint displacement
The namespace for gf classes.