rd5route.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef RD5ROUTE_H
  2. #define RD5ROUTE_H
  3. #include "road.h"
  4. #include "roadbuilder.h"
  5. #include <vector>
  6. class rd5route
  7. {
  8. private:
  9. tRoad * mpRoad;
  10. void routetypeoneroad(int nfromroad,int nfromlane);
  11. void routetypecross_road_lane(int nfromroad,int nfromlane,int ntoroad,int ntolane);
  12. void routetypecross_road(int fromroad, int nleftright,int toroad,int nleftright2);
  13. void routetypecross();
  14. tObjId GetObjByxodrRoadid(tObjId * pObjId,int nObj,int nordid);
  15. tObjId GetJunctionId(tObjId * pObjId, int nObj);
  16. tRoadLane GetLane(tObjId nLinkID,int nlane);
  17. std::vector<tObjId> GetLanePath(tObjId nLinkID,int nLeftRight); //0 Left 1 right
  18. std::vector<tObjId> GetConPath(tObjId nJunctionID);
  19. void CreateDrivePath(std::vector<tObjId> xvectorConPath,std::vector<tObjId> xvectorFromPath,std::vector<tObjId> xvectorToPath);
  20. int CreateDrivePath(std::vector<tObjId> xvectorConPath, tObjId nfrom, tObjId nto);
  21. void CreateNewRouteName(char * strroutename);
  22. void printchildobj(tObjId nObjId);
  23. private:
  24. int mnRoute = 0;
  25. public:
  26. rd5route(tRoad * pRoad);
  27. void route();
  28. void route(int nfromroad,int nfromlane,int ntoroad,int ntolane);
  29. };
  30. #endif // RD5ROUTE_H