#include <linear_interpolator.H>
Public Member Functions | |
linear_interpolator_t (double interp_dis_) | |
void | interpolate (uniform_path_t const &input_path, uniform_path_t &output_path) |
Interpolate 'input_path' to generate 'output_path'. | |
void | interpolate_wp (const waypoint_t *start_wp, const waypoint_t *end_wp, uniform_path_t &output_path) |
Append interpolated point between start_wp and end_wp, excluding both start_wp and end_wp. | |
Private Member Functions | |
bool | read_conf (const conf_t &conf) |
void | copy_wp (const waypoint_t source_wp, uniform_path_t &output_path) |
Copies contents from source_wp to des_wp. | |
void | add_wp_at_dis (const waypoint_t *start_wp, const waypoint_t *end_wp, double dis, uniform_path_t &output_path) |
Adds waypiont at distance 'dis' behind 'end_wp'. |
linear_interpolator_t::linear_interpolator_t | ( | double | interp_dis_ | ) |
References cajun::base_interpolator_t::m_interp_dis.
void linear_interpolator_t::add_wp_at_dis | ( | const waypoint_t * | start_wp, | |
const waypoint_t * | end_wp, | |||
double | dis, | |||
uniform_path_t & | output_path | |||
) | [private] |
Adds waypiont at distance 'dis' behind 'end_wp'.
References cajun::base_interpolator_t::waypoint_t::max_speed, cajun::base_interpolator_t::waypoint_t::min_speed, cajun::base_interpolator_t::waypoint_t::x, and cajun::base_interpolator_t::waypoint_t::y.
Referenced by interpolate_wp().
void linear_interpolator_t::copy_wp | ( | const waypoint_t | source_wp, | |
uniform_path_t & | output_path | |||
) | [private] |
Copies contents from source_wp to des_wp.
References cajun::base_interpolator_t::waypoint_t::max_speed, cajun::base_interpolator_t::waypoint_t::min_speed, cajun::base_interpolator_t::waypoint_t::x, and cajun::base_interpolator_t::waypoint_t::y.
Referenced by interpolate().
void linear_interpolator_t::interpolate | ( | uniform_path_t const & | input_path, | |
uniform_path_t & | output_path | |||
) | [virtual] |
Interpolate 'input_path' to generate 'output_path'.
Implements cajun::base_interpolator_t.
References copy_wp(), and interpolate_wp().
void linear_interpolator_t::interpolate_wp | ( | const waypoint_t * | start_wp, | |
const waypoint_t * | end_wp, | |||
uniform_path_t & | output_path | |||
) | [virtual] |
Append interpolated point between start_wp and end_wp, excluding both start_wp and end_wp.
Implements cajun::base_interpolator_t.
References add_wp_at_dis(), cajun::base_interpolator_t::m_interp_dis, cajun::base_interpolator_t::waypoint_t::x, and cajun::base_interpolator_t::waypoint_t::y.
Referenced by interpolate().
bool cajun::linear_interpolator_t::read_conf | ( | const conf_t & | conf | ) | [private] |