4 namespace margait_contrib
9 extern Limp operator*(
const double scalar,
const Limp& l);
10 extern Limp operator*(
const Limp& l,
const double scalar);
11 extern Limp operator/(
const double scalar,
const Limp& l);
12 extern Limp operator/(
const Limp& l,
const double scalar);
23 Limp(
double x,
double v,
double C);
26 void set(
double x,
double v);
27 void set(
double x,
double v,
double C);
29 Limp predict(
double time);
30 void update(
double time);
31 void simUpdate(
double time);
35 static double energy(
double x,
double v,
double C);
36 double tLoc(
double x);
37 double tVel(
double vx);
40 double origin(
double x,
double vx);
41 double z(
double x,
double T);
43 inline Limp operator+(
const Limp& l)
const {
return Limp(x0+l.x0, v0+l.v0, C);}
44 inline Limp operator-()
const {
return Limp(-x0, -v0, C);}
45 inline Limp operator-(
const Limp& l)
const {
return Limp(x0-l.x0, v0-l.v0, C);}
46 inline Limp& operator*=(
const double scalar){x0*=scalar; v0*=scalar;
return *
this;}
47 inline Limp& operator/=(
const double scalar){x0/=scalar; v0/=scalar;
return *
this;}
48 inline Limp& operator+=(
const Limp& l){x0+=l.x0; v0+=l.v0;
return *
this;}
49 inline Limp& operator-=(
const Limp& l){x0-=l.x0; v0-=l.v0;
return *
this;}