1 #ifndef __INTERPOLATOR_H__ 2 #define __INTERPOLATOR_H__ 6 #include <coil/Mutex.h> 24 interpolator(
int dim_,
double dt_, interpolation_mode imode_=HOFFARBIB,
double default_avg_vel_=0.5);
26 void push(
const double *x_,
const double *v_,
const double *a_,
bool immediate=
true);
32 void get(
double *x_,
bool popp=
true);
33 void get(
double *x_,
double *v_,
bool popp=
true);
34 void get(
double *x_,
double *v_,
double *a_,
bool popp=
true);
36 void set(
const double *
x,
const double *v=NULL);
39 void go(
const double *gx,
const double *gv,
double time,
bool immediate=
true);
40 void go(
const double *gx,
double time,
bool immediate=
true);
45 void load(
string fname,
double time_to_start=1.0,
double scale=1.0,
46 bool immediate=
true,
size_t offset1 = 0,
size_t offset2 = 0);
47 void load(
const char *fname,
double time_to_start=1.0,
double scale=1.0,
48 bool immediate=
true,
size_t offset1 = 0,
size_t offset2 = 0);
51 double calc_interpolation_time(
const double *g);
52 bool setInterpolationMode (interpolation_mode i_mode_);
55 void setGoal(
const double *gx,
const double *gv,
double time,
57 void setGoal(
const double *gx,
double time,
bool online=
true);
60 void interpolate(
double& remain_t_);
66 interpolation_mode imode;
68 deque<double *>
q, dq, ddq;
83 double *
a0, *a1, *a2, *a3, *a4, *
a5;
89 void hoffarbib(
double &remain_t_,
90 double a0,
double a1,
double a2,
91 double a3,
double a4,
double a5,
92 double &xx,
double &vv,
double &aa);
93 void linear_interpolation(
double &remain_t_,
95 double &xx,
double &vv,
double &aa);
SequenceElement & front(CorbaSequence &seq)
void clear(CorbaSequence &seq)
png_infop png_charpp name
void setName(const std::string &_name)