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