22 static_assert(
D > 1,
"D must be > 1.");
41 const double e = std::numeric_limits<double>::epsilon();
A bezier curve with D control points.
Definition BezierShape.hpp:20
Impl mParametricShape
Definition BezierShape.hpp:25
Edges edges() const noexcept
Definition BezierShape.hpp:61
typename Impl::Edges Edges
Definition BezierShape.hpp:60
typename Impl::Vertices Vertices
Definition BezierShape.hpp:63
BezierShape(const Vector2(&p)[D], int segments=16)
Definition BezierShape.hpp:56
BezierShape(const ArrayWrapper &p, int segments)
Definition BezierShape.hpp:33
Vertices vertices() const noexcept
Definition BezierShape.hpp:64
Definition ParametricShape.hpp:20
Definition ParametricShape.hpp:36
A shape with values evaluated using a callback function.
Definition ParametricShape.hpp:18
Vertices vertices() const noexcept
Edges edges() const noexcept
A point on a path.
Definition ShapeVertex.hpp:16
Vector2 position
Definition ShapeVertex.hpp:18
Vector2 tangent
Unit length vector parallel to the shape at this point.
Definition ShapeVertex.hpp:22
double texCoord
Definition ShapeVertex.hpp:24
Definition AnyGenerator.hpp:12
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition BezierShape.hpp:27
ArrayWrapper(const Vector2(&p)[D])
Definition BezierShape.hpp:30
Vector2 data[D]
Definition BezierShape.hpp:28