From 7ad5b81283c39e66ba2ca84314e283f277fc77e0 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期五, 03 四月 2020 11:39:17 +0800
Subject: [PATCH] 坐标

---
 lib/src/main/cpp/test_items/stop_and_start.cpp |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/src/main/cpp/test_items/stop_and_start.cpp b/lib/src/main/cpp/test_items/stop_and_start.cpp
index b57ceec..3b904d6 100644
--- a/lib/src/main/cpp/test_items/stop_and_start.cpp
+++ b/lib/src/main/cpp/test_items/stop_and_start.cpp
@@ -90,7 +90,7 @@
     {
         double dis2 = DistanceOfTire2Edge(map, car);
 
-        MA_SendDistance(-1, dis2);
+        MA_SendDistance(DistanceOf(map->point[8], map->point[7]) - dis2, dis2);
     }
 
     if (prevMoveDirect != moveDirect) {
@@ -262,7 +262,13 @@
     // 鍏ㄨ溅閮介渶涓嶅湪鍦板浘涓�
     bool ret = false;
 
-    Polygon carBody;
+    Polygon carBody, map2;
+    PointF vPoint = Calc3Point(map->point[8], map->point[0], DistanceOf(map->point[8], map->point[7]), 'R');
+
+    map2.num = 4;
+    map2.point = (PointF *)malloc(map2.num * sizeof(PointF));
+
+    MakePolygon(&map2, {vPoint, map->point[0], map->point[7], map->point[8]});
 
     carBody.num = car->bodyNum;
     carBody.point = (PointF *)malloc(carBody.num * sizeof(PointF));
@@ -270,11 +276,11 @@
         carBody.point[i] = car->carXY[car->body[i]];
     }
 
-    if (IntersectionOf(&carBody, map) == GM_None) {
+    if (IntersectionOf(&carBody, &map2) == GM_None) {
         ret = true;
     }
 
     free(carBody.point);
-
+    free(map2.point);
     return ret;
 }

--
Gitblit v1.8.0