From 5b961ecfe0c04eb6ce493658b2131d5071380c73 Mon Sep 17 00:00:00 2001 From: yy <fctom1215@outlook.com> Date: 星期一, 10 八月 2020 23:51:57 +0800 Subject: [PATCH] 确立导向车道 --- lib/src/main/cpp/test_items2/road_exam.cpp | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/lib/src/main/cpp/test_items2/road_exam.cpp b/lib/src/main/cpp/test_items2/road_exam.cpp index 8e42c1e..3d6a4e1 100644 --- a/lib/src/main/cpp/test_items2/road_exam.cpp +++ b/lib/src/main/cpp/test_items2/road_exam.cpp @@ -16,6 +16,7 @@ #include "stop_car.h" #include "operate_gear.h" +#include <cmath> #include <vector> #include <list> #include <map> @@ -633,6 +634,18 @@ return false; } +static int GetGuideDirect(road_exam_map &RoadMap, PointF point, int roadIndex, int sepIndex, int laneNo) +{ + for (int i = 0; i < RoadMap.roads[roadIndex].separate[sepIndex].lane_direct.size(); ++i) { + double d1 = CalcDistanceReference(point, RoadMap.roads[roadIndex].separate[sepIndex].lane_direct[i].start, RoadMap.roads[roadIndex].rightEdge); + double d2 = CalcDistanceReference(point, RoadMap.roads[roadIndex].separate[sepIndex].lane_direct[i].end, RoadMap.roads[roadIndex].rightEdge); + if (fabs(d1) < 1e-6 && d1 < 0.0 && d2 > 1e-6 && laneNo < RoadMap.roads[roadIndex].separate[sepIndex].lane_direct[i].direct.size()) { + return RoadMap.roads[roadIndex].separate[sepIndex].lane_direct[i].direct[laneNo]; + } + } + return 0; +} + /******************************************** * 璁$畻鏌愮偣鍦ㄥ摢涓溅閬� * @param point -- Gitblit v1.8.0