1 #ifndef GRAIL_BEZIER_SPLINE_H 
    2 #define GRAIL_BEZIER_SPLINE_H 
    5 #include "../../libs/vector2/vector2.h" 
   14             BezierSpline(
const std::vector<Vector2>& points, 
const std::vector<Vector2>& tangents, 
float epsilon = 0.001f);
 
   15             BezierSpline(std::vector<Vector2>&& points, std::vector<Vector2>&& tangents, 
float epsilon = 0.001f);
 
   17             virtual float Sample(
float argument) 
const override;
 
   19             std::vector<Vector2>& GetPoints();
 
   20             const std::vector<Vector2>& GetPoints() 
const;
 
   22             std::vector<Vector2>& GetTangents();
 
   23             const std::vector<Vector2>& GetTangents() 
const;
 
   25             CurveTypeId GetTypeId() 
const override;
 
   28             Vector2 BezierInterpolation(
const std::size_t beginIndex, 
const std::size_t endIndex, 
float t) 
const;
 
   30             std::vector<Vector2> points{};
 
   31             std::vector<Vector2> tangents{};
 
   34             float leftGradient = 0.0f;
 
   35             float leftIntercept = 0.0f;
 
   36             float rightGradient = 0.0f;
 
   37             float rightIntercept = 0.0f;
 
Definition: BezierSpline.hh:12
virtual float Sample(float argument) const override
Sample - User-defined method which processes provided value (currently vector of values - multidemens...
Definition: BezierSpline.cpp:29
The Curve class - Defines objects transforming one value into the other.
Definition: Curve.hh:17