#ifndef CDAPROC_H #define CDAPROC_H #include #include #include "excelapi.h" #include 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 mvectorgeo; std::vector 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