From 682b17ff66dff23e03c6a57de276ea0c3e670c0e Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期一, 23 三月 2020 18:44:47 +0800
Subject: [PATCH] 起步和直线
---
lib/src/main/cpp/driver_test.cpp | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp
index fae8d3b..46e0c3d 100644
--- a/lib/src/main/cpp/driver_test.cpp
+++ b/lib/src/main/cpp/driver_test.cpp
@@ -257,6 +257,15 @@
if (map.area.point != NULL) {
free(map.area.point);
}
+
+ if (map.roadEdgeLine != NULL) {
+ for (int j = 0; j < map.roadEdgeLineNum; ++j) {
+ if (map.roadEdgeLine[j].point != NULL)
+ free(map.roadEdgeLine[j].point);
+ }
+
+ free(map.roadEdgeLine);
+ }
}
RoadMapList.clear();
@@ -282,6 +291,7 @@
vector<vector<int>> &redAreas,
vector<vector<int>> &greenLines,
vector<vector<int>> &triggerLines,
+ vector<vector<int>> &roadEdgeLines,
vector<int> area,
vector<int> stopLine)
{
@@ -371,7 +381,24 @@
}
} else {
newMap.triggerLine = NULL;
- };
+ }
+
+ if ((newMap.roadEdgeLineNum = roadEdgeLines.size()) > 0) {
+ newMap.roadEdgeLine = (Polygon *) malloc(sizeof(Polygon) * newMap.roadEdgeLineNum);
+
+ DEBUG("閬撹矾杈圭嚎 %d 鏍�", newMap.roadEdgeLineNum);
+ for (int i = 0; i < newMap.roadEdgeLineNum; ++i) {
+ newMap.roadEdgeLine[i].num = roadEdgeLines[i].size();
+ newMap.roadEdgeLine[i].point = (PointF *) malloc(sizeof(PointF) * newMap.roadEdgeLine[i].num);
+
+ DEBUG(" 缁撶偣 %d 涓�", newMap.roadEdgeLine[i].num);
+ for (int j = 0; j < newMap.roadEdgeLine[i].num; ++j) {
+ newMap.roadEdgeLine[i].point[j] = RoadMapPoints.point[roadEdgeLines[i][j]];
+ }
+ }
+ } else {
+ newMap.roadEdgeLine = NULL;
+ }
if (area.size() > 0) {
newMap.area.num = area.size();
--
Gitblit v1.8.0