From 3a48a0de38910517352557510882f2ff4d8436ae Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期五, 20 三月 2020 18:05:55 +0800
Subject: [PATCH] 路考

---
 lib/src/main/cpp/driver_test.cpp |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp
index 8a9c7cd..a144e68 100644
--- a/lib/src/main/cpp/driver_test.cpp
+++ b/lib/src/main/cpp/driver_test.cpp
@@ -252,6 +252,10 @@
             }
             free(map.triggerLine);
         }
+
+        if (map.area.point != NULL) {
+            free(map.area.point);
+        }
     }
 
     RoadMapList.clear();
@@ -272,8 +276,13 @@
     }
 }
 
-void AddRoadMapParent(int id, int type, string tts, vector<vector<int>> &redLines,
-                      vector<vector<int>> &redAreas, vector<vector<int>> &greenLines, vector<vector<int>> &triggerLines)
+void AddRoadMapParent(int id, int type, string tts,
+        vector<vector<int>> &redLines,
+                      vector<vector<int>> &redAreas,
+                      vector<vector<int>> &greenLines,
+                      vector<vector<int>> &triggerLines,
+                      vector<int> area,
+                      vector<int> stopLine)
 {
     struct road_exam_map newMap;
 
@@ -343,6 +352,25 @@
     } else {
         newMap.triggerLine = NULL;
     };
+
+    if (area.size() > 0) {
+        newMap.area.num = area.size();
+        newMap.area.point = (PointF *) malloc(sizeof(PointF) * newMap.area.num);
+
+        for (int i = 0; i < newMap.area.num; ++i) {
+            newMap.area.point[i] = RoadMapPoints.point[area[i]];
+        }
+    } else {
+        newMap.area.point = NULL;
+        newMap.area.num = 0;
+    }
+
+    if (stopLine.size() == 4) {
+        newMap.stopLine.X1 = stopLine[0];
+        newMap.stopLine.Y1 = stopLine[1];
+        newMap.stopLine.X2 = stopLine[2];
+        newMap.stopLine.Y2 = stopLine[3];
+    }
 
     RoadMapList.push_back(newMap);
 }
@@ -681,7 +709,7 @@
         if (ExamType == TEST_TYPE_AREA)
             AddExamFault(4, rtkTime);
     }
-
+DEBUG("22222222222222222222");
     if (ExamType == TEST_TYPE_ROAD_DUMMY_LIGHT) {
         if (exam_dummy_light == 0) {
             StartDummyLightExam(DummyLightContent, DummyLightContentSize, rtkTime);
@@ -886,7 +914,6 @@
     CarModelList.push_front(newModel);
 
     while (CarModelList.size() > 100) {
-        DEBUG("鍒犻櫎灏剧粨鐐�");
         car_model *ptr = CarModelList.back();
 
         if (ptr->body != NULL)

--
Gitblit v1.8.0