xodr.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #ifndef XODR_H
  2. #define XODR_H
  3. #include <string>
  4. #include <vector>
  5. namespace iv {
  6. class road_link_predecessor
  7. {
  8. public:
  9. const std::string TYPE_ROAD = "road";
  10. const std::string TYPE_JUNCTION = "junction";
  11. const std::string POINT_START = "start";
  12. const std::string POINT_END = "end";
  13. int mvartype =1;
  14. std::string elementType;
  15. std::string elementID;
  16. std::string contactPoint;
  17. double elementS;
  18. std::string elementDIr;
  19. };
  20. class road_link
  21. {
  22. public:
  23. };
  24. class road_header
  25. {
  26. public:
  27. std::string name;
  28. double length;
  29. std::string id;
  30. std::string junction;
  31. std::string rule;
  32. };
  33. class road
  34. {
  35. public:
  36. road_header mheader;
  37. };
  38. class header_georef
  39. {
  40. public:
  41. std::string info;
  42. };
  43. class header_Offset
  44. {
  45. public:
  46. double x;
  47. double y;
  48. double z;
  49. float hdg;
  50. };
  51. class header
  52. {
  53. public:
  54. unsigned short revMajor;
  55. unsigned short revMinor;
  56. std::string name;
  57. float version;
  58. std::string date;
  59. double north;
  60. double south;
  61. double east;
  62. double west;
  63. std::string vendor;
  64. std::vector<header_georef> georef;
  65. std::vector<header_Offset> Offset;
  66. };
  67. class xodr
  68. {
  69. public:
  70. xodr();
  71. std::vector<header> mheader;
  72. };
  73. }
  74. #endif // XODR_H