From 7fdc4fa80d5d04b5936fc1bdd617b64c6ae9ef37 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 26 四月 2021 13:17:00 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge
---
lib/src/main/cpp/test_items/stop_and_start.cpp | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 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 12e8000..672c0ad 100644
--- a/lib/src/main/cpp/test_items/stop_and_start.cpp
+++ b/lib/src/main/cpp/test_items/stop_and_start.cpp
@@ -216,14 +216,27 @@
bool ret = false;
Line red_line;
- const int red_lines[][2] = {{0, 8}};
+ int red_lines[2][2];
+ int red_line_num = 0;
+
+ if (map->num == 10) {
+ red_lines[0][0] = 0;
+ red_lines[0][1] = 8;
+ red_lines[1][0] = 8;
+ red_lines[1][1] = 9;
+ red_line_num = 2;
+ } else {
+ red_lines[0][0] = 0;
+ red_lines[0][1] = 8;
+ red_line_num = 1;
+ }
Line frontAxle, rearAxle;
MakeLine(&frontAxle, &car->carXY[car->left_front_tire[TIRE_OUTSIDE]], &car->carXY[car->right_front_tire[TIRE_OUTSIDE]]);
MakeLine(&rearAxle, &car->carXY[car->left_rear_tire[TIRE_OUTSIDE]], &car->carXY[car->right_rear_tire[TIRE_OUTSIDE]]);
- for (int i = 0; i < sizeof(red_lines) / sizeof(red_lines[0]); ++i) {
+ for (int i = 0; i < red_line_num; ++i) {
MakeLine(&red_line, &map->point[red_lines[i][0]], &map->point[red_lines[i][1]]);
if (IntersectionOf(red_line, frontAxle) == GM_Intersection ||
IntersectionOf(red_line, rearAxle) == GM_Intersection) {
@@ -285,11 +298,19 @@
Polygon carBody, map2;
PointF vPoint = Calc3Point(map->point[8], map->point[0], DistanceOf(map->point[8], map->point[7]), 'R');
+ PointF vPoint2;
+
+ if (map->num == 10) {
+ vPoint2 = Calc3Point(map->point[8], map->point[9], DistanceOf(map->point[8], map->point[7]), 'L');
+ }
map2.num = 4;
map2.point = (PointF *)malloc(map2.num * sizeof(PointF));
- MakePolygon(&map2, {vPoint, map->point[0], map->point[7], map->point[8]});
+ if (map->num == 9)
+ MakePolygon(&map2, {vPoint, map->point[0], map->point[8], map->point[7]});
+ else
+ MakePolygon(&map2, {vPoint, map->point[0], map->point[9], vPoint2});
carBody.num = car->bodyNum;
carBody.point = (PointF *)malloc(carBody.num * sizeof(PointF));
--
Gitblit v1.8.0