23 #include "modules/routing/proto/routing.pb.h" 37 const RoutingRequest& request,
38 const std::vector<NodeWithRange>& nodes,
40 RoutingResponse*
const result);
44 std::vector<NodeWithRange> nodes;
45 ChangeLaneType change_lane_type;
46 PassageInfo() =
default;
47 PassageInfo(
const std::vector<NodeWithRange>& _nodes,
48 ChangeLaneType _change_lane_type)
49 : nodes(_nodes), change_lane_type(_change_lane_type) {}
54 RoutingResponse*
const result);
56 void CreateRoadSegments(
const std::vector<PassageInfo>& passages,
57 RoutingResponse* result);
59 void AddRoadSegment(
const std::vector<PassageInfo>& passages,
60 const std::pair<std::size_t, std::size_t>& start_index,
61 const std::pair<std::size_t, std::size_t>& end_index,
62 RoutingResponse* result);
64 std::vector<PassageInfo>*
const passages);
65 bool ExtractBasicPassages(
const std::vector<NodeWithRange>& nodes,
66 std::vector<PassageInfo>*
const passsages);
68 const PassageInfo& prev_passage,
69 PassageInfo*
const curr_passage);
71 const PassageInfo& next_passage,
72 PassageInfo*
const curr_passage);
73 bool IsReachableFromWithChangeLane(
const TopoNode* from_node,
74 const PassageInfo& to_nodes,
76 bool IsReachableToWithChangeLane(
const TopoNode* from_node,
77 const PassageInfo& to_nodes,
Definition: topo_node.h:32
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
ResultGenerator()=default
~ResultGenerator()=default
Definition: topo_range_manager.h:27
Definition: result_generator.h:31
Definition: node_with_range.h:26
bool GeneratePassageRegion(const std::string &map_version, const RoutingRequest &request, const std::vector< NodeWithRange > &nodes, const TopoRangeManager &range_manager, RoutingResponse *const result)