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);