00001 #ifndef Pv_Bicyclist_Included 00002 #define Pv_Bicyclist_Included 00003 00004 #include "pv_point.h" 00005 00006 /*declarations*/ 00007 00008 class Pv_Bicyclist{ 00009 Pv_Point position; 00010 Pv_Point speed; 00011 Pv_Point desired_speed; 00012 double time_step; /*s*/ 00013 double rotation; /*degree - counterclockwise*/ 00014 double rotation_speed; /*degree / s */ 00015 double max_rotation_speed; 00016 double max_rotation_acceleration;/*degree / s**2 */ 00017 Pv_Point target_point; 00018 00019 public: 00020 /*constructors*/ 00021 Pv_Bicyclist(int argc, char **argv); 00022 00023 /*destructor*/ 00024 00025 /*reset*/ 00026 void restart(); 00027 00028 /*equals*/ 00029 00030 /*set*/ 00031 void set_desired_speed_x(double value); 00032 void set_desired_speed_y(double value); 00033 void set_desired_speed_z(double value); 00034 00035 /*get*/ 00036 Pv_Point get_position(); 00037 double get_position_x(); 00038 double get_position_y(); 00039 double get_position_z(); 00040 double get_speed_x(); 00041 double get_speed_y(); 00042 double get_speed_z(); 00043 double get_desired_speed_x(); 00044 double get_desired_speed_y(); 00045 double get_desired_speed_z(); 00046 00047 /*display*/ 00048 void display(); 00049 00050 /*operators*/; 00051 00052 /*friends*/ 00053 00054 /*miscellaneous*/ 00055 void step(); 00056 void go_to(Pv_Point target, 00057 double speed); 00058 void controller(); 00059 void change_rotation_speed(double target_rotation_speed, 00060 double time); 00061 00062 }; 00063 00064 /*string operator*/ 00065 00066 /*other operators*/ 00067 00068 #endif
1.2.18