#ifndef IVIF_PARK_H #define IVIF_PARK_H #include #include "comonstruct.h" namespace iv { struct simpleparkspace { public: double mfLon; double mfLat; double mfHeading; int mnParkType; //1 side park 0 chuizhi park }; } class ivif_park { public: ivif_park(); virtual ~ivif_park(); public: /** * @brief IsBocheEnable * @param fLon 经度 * @param fLat 纬度 * @param fHeading 航向 * @return 是否能泊车 */ virtual bool IsBocheEnable(double fLon, double fLat, double fHeading); /** * @brief GetBocheDecision * @param fLon 经度 * @param fLat 纬度 * @param fHeading 航向 * @param fSpeed 车速 km/h * @param fAcc 决策加速度 * @param fWheel 决策方向盘角度 * @param nshift 2 倒车 3 前进 * @param fdSpeed 期望速度 km/h * @param fdSecSpeed 期望速度 m/s * @param xvehstate * @param bbocheMode 是否激活泊车 * @return 0 不在泊车状态,无决策 1 在泊车状态,有决策 */ virtual int GetBocheDecision(double fLon,double fLat,double fHeading,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate,bool bbocheMode); private: std::vector mvectorsimpleparkspace; public: void SetParkSpace(std::vector & xvectorsimpleparkspace); std::vector GetParkSpace(); }; #endif // IVIF_PARK_H