1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #ifndef CDAPROC_H
- #define CDAPROC_H
- #include <string>
- #include <vector>
- #include "excelapi.h"
- #include <OpenDrive/OpenDrive.h>
- namespace iv
- {
- struct cdalane
- {
- int mnlanetype; // 0 driving 1 ...
- double mflanewidth;
- int mnlanemarkcolor; //0 白色 1 黄色
- int mnlanemarktype; //0 虚线 1 实线 2 双虚线 3 双实线 4 虚实线 5 实虚线 6 无
- };
- struct cdageo
- {
- int mngeotype; //直路 弯路 路口
- double mfradius; //半径
- double mflen; //长度
- };
- class cdaroad
- {
- public:
- int mnclass; //0 高速公路 1 城市 2 乡村
- int mnEle; //0 平路 1 缓上坡 2 上坡 3 缓下坡 4 下坡
- std::vector<cdageo> mvectorgeo;
- std::vector<cdalane> mvectorlane;
- public:
- cdaroad()
- {
- mnclass = 0;
- mnEle = 0;
- cdageo xgeo;
- xgeo.mflen = 100.0;
- xgeo.mfradius = 100;
- xgeo.mngeotype = 0;
- mvectorgeo.push_back(xgeo);
- cdalane xlane;
- xlane.mnlanetype = 2;
- xlane.mflanewidth = 3.75;
- xlane.mnlanemarkcolor = 0;
- xlane.mnlanemarktype = 0;
- mvectorlane.push_back(xlane);
- }
- };
- }
- class CDAProc
- {
- public:
- CDAProc();
- static int Proc(std::string strxlsxpath,OpenDrive * pxodr);
- static int ProcRoads(std::string strxlsxpath,std::string stroutpath);
- static int ProcRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
- std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
- static int ProcLineRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
- std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
- static int ProcArcRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
- std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
- static int ProcIntersectionRoad(OpenDrive * pxodr, std::string strtype,std::string strradius,std::string strroadlen,std::string strlanewidth,
- std::string strlannecount,std::string strlanetype,std::string strlanemarkcolor,std::string strlanemarktype);
- };
- #endif // CDAPROC_H
|