sideparkcalc.h 676 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef SIDEPARKCALC_H
  2. #define SIDEPARKCALC_H
  3. #include <math.h>
  4. enum SideParkMode
  5. {
  6. ParkAtLeft =1,
  7. ParkAtRight =2
  8. };
  9. class SideParkCalc
  10. {
  11. public:
  12. SideParkCalc(double x,double y,double hdg);
  13. public:
  14. void CalcPark();
  15. private:
  16. double mfLastDirectDis = 0.3;
  17. double mfRaidus = 5.0;
  18. double mfMaxAngle = 45.0 *M_PI/180.0;
  19. private:
  20. double mx,my,mhdg;
  21. bool mbPark = false;
  22. private:
  23. SideParkMode CalcParkMode();
  24. void ParkAtRightCalc();
  25. void ParkAtRightCalc_Model1();
  26. void ParkAtRightCalc_Model2();
  27. void ParkAtLeftCalc();
  28. void ParkAtLeftCalc_Model1();
  29. void ParkAtLeftCalc_Model2();
  30. };
  31. #endif // SIDEPARKCALC_H