cdaproc.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef CDAPROC_H
  2. #define CDAPROC_H
  3. #include <string>
  4. #include <vector>
  5. #include "excelapi.h"
  6. #include <OpenDrive/OpenDrive.h>
  7. //namespace iv
  8. //{
  9. //struct cdalane
  10. //{
  11. // int mnlanetype; //"shoulder","border","driving","stop","none","parking","biking","sidewalk","median"
  12. // double mflanewidth;
  13. // int mnlanemarkcolor; //0 白色 1 黄色
  14. // int mnlanemarktype; //0 虚线 1 实线 2 双虚线 3 双实线 4 虚实线 5 实虚线 6 无
  15. //};
  16. //struct cdageo
  17. //{
  18. // int mngeotype; //直路 弯路 路口
  19. // double mfradius; //半径
  20. // double mflen; //长度
  21. //};
  22. //class cdaroad
  23. //{
  24. //public:
  25. // int mnclass; //0 高速公路 1 城市 2 乡村
  26. // int mnEle; //0 平路 1 缓上坡 2 上坡 3 缓下坡 4 下坡
  27. // std::vector<cdageo> mvectorgeo;
  28. // std::vector<cdalane> mvectorlane;
  29. //public:
  30. // cdaroad()
  31. // {
  32. // mnclass = 0;
  33. // mnEle = 0;
  34. // cdageo xgeo;
  35. // xgeo.mflen = 100.0;
  36. // xgeo.mfradius = 100;
  37. // xgeo.mngeotype = 0;
  38. // mvectorgeo.push_back(xgeo);
  39. // cdalane xlane;
  40. // xlane.mnlanetype = 2;
  41. // xlane.mflanewidth = 3.75;
  42. // xlane.mnlanemarkcolor = 0;
  43. // xlane.mnlanemarktype = 0;
  44. // mvectorlane.push_back(xlane);
  45. // }
  46. //};
  47. //}
  48. class CDAProc
  49. {
  50. public:
  51. CDAProc();
  52. static int Proc(std::string strxlsxpath,OpenDrive * pxodr);
  53. static int ProcRoads(std::string strxlsxpath,std::string stroutpath);
  54. static int ProcRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
  55. std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
  56. static int ProcLineRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
  57. std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
  58. static int ProcArcRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
  59. std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
  60. static int ProcIntersectionRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
  61. std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
  62. };
  63. #endif // CDAPROC_H