1 #ifndef MATH_LINEAR_PATH_H 2 #define MATH_LINEAR_PATH_H 20 virtual void PreEval(Real t);
21 virtual Real Eval(Real t);
22 virtual Real Deriv(Real t);
24 inline Real operator[](
int i)
const {
return points[i].y; }
25 inline Real& operator[](
int i) {
return points[i].y; }
26 inline size_t size()
const {
return points.size(); }
27 std::vector<ControlPoint>::iterator GetSegment(Real t);
31 void ScaleTime(Real s);
32 void OffsetTime(Real off);
34 void Append(
const Real y,Real dt=Zero);
37 bool Write(
File& f)
const;
39 std::vector<ControlPoint> points;
50 virtual void PreEval(Real t);
51 virtual void Eval(Real t,
Vector& x);
52 virtual void Deriv(Real t,
Vector& dx);
59 virtual Real Distance(
const Vector& a,
const Vector& b)
const;
61 inline const Vector& operator[](
int i)
const {
return points[i].x; }
62 inline Vector& operator[](
int i) {
return points[i].x; }
63 inline size_t size()
const {
return points.size(); }
64 std::vector<ControlPoint>::iterator GetSegment(Real t);
65 inline Real BeginTime()
const {
return points.front().t; }
66 inline Real EndTime()
const {
return points.back().t; }
69 void ArcLengthParameterize();
70 void ScaleTime(Real s);
71 void OffsetTime(Real off);
73 void Append(
const Vector& x,Real dt=Zero);
76 bool Write(
File& f)
const;
78 std::vector<ControlPoint> points;
Abstract base classes for function interfaces.
A closed interval [a,b].
Definition: Interval.h:49
Definition: LinearPath.h:15
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
Definition: LinearPath.h:11
Definition: LinearPath.h:45
Definition: LinearPath.h:42
A cross-platform class for reading/writing binary data.
Definition: File.h:47
A function from R to R^n, identical to RealFunction except a vector is returned.
Definition: function.h:69