28 #ifndef OPENSHOT_KEYFRAME_H 29 #define OPENSHOT_KEYFRAME_H 67 double FactorialLookup[4];
77 void ProcessSegment(
int Segment,
Point p1,
Point p2);
80 void CreateFactorialTable();
83 double Factorial(
long int n);
86 double Ni(
long int n,
long int i);
89 double Bernstein(
long int n,
long int i,
double t);
102 void AddPoint(
Point p);
105 void AddPoint(
double x,
double y);
111 bool Contains(
Point p);
120 double GetValue(
long int index);
123 int GetInt(
long int index);
126 long int GetLong(
long int index);
129 Fraction GetRepeatFraction(
long int index);
132 double GetDelta(
long int index);
151 long int GetLength();
157 bool IsIncreasing(
int index);
161 Json::Value JsonValue();
163 void SetJsonValue(Json::Value root);
181 void ScalePoints(
double scale);
184 void UpdatePoint(
long int index,
Point p);
vector< Coordinate > Values
Vector of all Values (i.e. the processed coordinates from the curve)
Header file for Fraction class.
Header file for Point class.
A Point is the basic building block of a key-frame curve.
Header file for all Exception classes.
Header file for JSON class.
This class represents a fraction.
vector< Point > Points
Vector of all Points.
InterpolationType
This controls how a Keyframe uses this point to interpolate between two points.
This namespace is the default namespace for all code in the openshot library.
Header file for Coordinate class.
Exception for invalid JSON.
Exception for an out of bounds key-frame point.
A Keyframe is a collection of Point instances, which is used to vary a number or property over time...