00001 #ifndef CAJUN_BASE_PATH_PROVIDER_H 00002 #define CAJUN_BASE_PATH_PROVIDER_H 00003 00004 #include "planner_defs.H" 00005 #include "world_state.H" 00006 00007 #include "mdf.H" 00008 00009 00010 namespace cajun 00011 { 00014 class base_path_provider_t 00015 { 00016 public: 00017 base_path_provider_t (world_state_t *ws_, rndf_t const *rndf_, 00018 mdf_t const * mdf); 00019 void update_prev_path (path_t const &path_, 00020 path_direction_t p_dir_); 00021 void get_base_path (path_t &path_, path_direction_t p_dir_); 00022 private: 00023 path_t m_prev_path; 00024 path_direction_t m_prev_path_dir; 00025 00026 world_state_t *m_ws; 00027 rndf_t const *m_rndf; 00028 mdf_t const *m_mdf; 00029 bool m_first_iteration; 00030 00031 void add_new_base_path (path_t &path_, double x_, double y_); 00032 }; 00033 00034 }; 00035 00036 00037 #endif
1.6.1