#ifndef SIDEPARKCALC_H #define SIDEPARKCALC_H #include enum SideParkMode { ParkAtLeft =1, ParkAtRight =2 }; class SideParkCalc { public: SideParkCalc(double x,double y,double hdg); public: void CalcPark(); private: double mfLastDirectDis = 0.3; double mfRaidus = 5.0; double mfMaxAngle = 45.0 *M_PI/180.0; private: double mx,my,mhdg; bool mbPark = false; private: SideParkMode CalcParkMode(); void ParkAtRightCalc(); void ParkAtRightCalc_Model1(); void ParkAtRightCalc_Model2(); void ParkAtLeftCalc(); void ParkAtLeftCalc_Model1(); void ParkAtLeftCalc_Model2(); }; #endif // SIDEPARKCALC_H