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(int64_t n);
86 double Ni(int64_t n, int64_t i);
89 double Bernstein(int64_t n, int64_t i,
double t);
102 void AddPoint(
Point p);
105 void AddPoint(
double x,
double y);
111 bool Contains(
Point p);
117 int64_t FindIndex(
Point p);
120 double GetValue(int64_t index);
123 int GetInt(int64_t index);
126 int64_t GetLong(int64_t index);
129 Fraction GetRepeatFraction(int64_t index);
132 double GetDelta(int64_t index);
135 Point& GetPoint(int64_t index);
157 bool IsIncreasing(
int index);
161 Json::Value JsonValue();
162 void SetJson(
string value);
163 void SetJsonValue(Json::Value root);
174 void RemovePoint(
Point p);
177 void RemovePoint(int64_t index);
181 void ScalePoints(
double scale);
184 void UpdatePoint(int64_t 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.
A Keyframe is a collection of Point instances, which is used to vary a number or property over time...