Dry
|
Spline class to get a point on it based off the interpolation mode. More...
#include <Dry/Core/Spline.h>
Public Member Functions | |
Spline () | |
Default constructor. | |
Spline (InterpolationMode mode) | |
Constructor setting interpolation mode. | |
Spline (const Vector< Variant > &knots, InterpolationMode mode=BEZIER_CURVE) | |
Constructor setting knots and interpolation mode. | |
Spline (const Spline &rhs)=default | |
Copy constructor. | |
Spline & | operator= (const Spline &rhs)=default |
Copy operator. | |
bool | operator== (const Spline &rhs) const |
Equality operator. | |
bool | operator!= (const Spline &rhs) const |
Inequality operator. | |
InterpolationMode | GetInterpolationMode () const |
Return the interpolation mode. | |
const VariantVector & | GetKnots () const |
Return the knots of the spline. | |
Variant | GetKnot (unsigned index) const |
Return the knot at the specific index. | |
Variant | GetPoint (float f) const |
Return the T of the point of the spline at f from 0.f - 1.f. More... | |
void | SetInterpolationMode (InterpolationMode interpolationMode) |
Set the interpolation mode. | |
void | SetKnots (const Vector< Variant > &knots) |
Set the knots of the spline. | |
void | SetKnot (const Variant &knot, unsigned index) |
Set the value of an existing knot. | |
void | AddKnot (const Variant &knot) |
Add a knot to the end of the spline. | |
void | AddKnot (const Variant &knot, unsigned index) |
Add a knot to the spline at a specific index. | |
void | RemoveKnot () |
Remove the last knot on the spline. | |
void | RemoveKnot (unsigned index) |
Remove the knot at the specific index. | |
void | Clear () |
Clear the spline. | |
Private Member Functions | |
Variant | BezierInterpolation (const Vector< Variant > &knots, float t) const |
Perform Bezier interpolation on the spline. More... | |
Variant | CatmullRomInterpolation (const Vector< Variant > &knots, float t) const |
Perform Spline interpolation on the spline. | |
Variant | LinearInterpolation (const Vector< Variant > &knots, float t) const |
Perform linear interpolation on the spline. | |
Variant | LinearInterpolation (const Variant &lhs, const Variant &rhs, float t) const |
Linear interpolation between two Variants based on underlying type. | |
Private Attributes | |
InterpolationMode | interpolationMode_ |
Interpolation mode. | |
VariantVector | knots_ |
Knots on the spline. | |
Spline class to get a point on it based off the interpolation mode.
Perform Bezier interpolation on the spline.
Variant Dry::Spline::GetPoint | ( | float | f | ) | const |
Return the T of the point of the spline at f from 0.f - 1.f.