From 46f56f26bfcc6ce26ffd8132ee11bf019eef3289 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期一, 13 四月 2020 11:48:28 +0800
Subject: [PATCH] 计算边距
---
lib/src/main/cpp/test_items/driving_curve.cpp | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/lib/src/main/cpp/test_items/driving_curve.cpp b/lib/src/main/cpp/test_items/driving_curve.cpp
index 24ad383..e292326 100644
--- a/lib/src/main/cpp/test_items/driving_curve.cpp
+++ b/lib/src/main/cpp/test_items/driving_curve.cpp
@@ -9,6 +9,7 @@
#include "../utils/xconvert.h"
#include "../master/comm_if.h"
#include "../native-lib.h"
+#include "area_exam.h"
#include <vector>
#include <cstdlib>
@@ -60,6 +61,10 @@
{
Polygon tireRect;
int who = 0;
+ vector<double> dtox;
+ vector<Line> line_set;
+ int s;
+
MakePolygon(&tireRect, {car->carXY[car->left_front_tire[TIRE_OUTSIDE]],
car->carXY[car->right_front_tire[TIRE_OUTSIDE]],
car->carXY[car->right_rear_tire[TIRE_OUTSIDE]],
@@ -75,6 +80,27 @@
// 鏇存柊杞﹀熬鎵弿绾�
UpdateEndLine(false, &scanWindow, map, map2, &tireRect);
+ // 璁$畻杈硅窛
+ s = scanWindow.leftStart;
+ for (int e = scanWindow.leftStart - 1; e >= scanWindow.leftEnd; --e) {
+ Line redLine;
+ MakeLine(&redLine, &map->point[s], &map->point[e]);
+ line_set.push_back(redLine);
+ s = e;
+ }
+
+ s = scanWindow.rightStart;
+ for (int e = scanWindow.rightStart - 1; e >= scanWindow.rightEnd; --e) {
+ Line redLine;
+ MakeLine(&redLine, &map2->point[s], &map2->point[e]);
+ line_set.push_back(redLine);
+ s = e;
+ }
+
+ DistanceOfTire2X(dtox, car, line_set);
+
+ MA_SendDistance(dtox[0], dtox[1]);
+
DEBUG("scanWindow leftStart %d leftEnd %d rightStart %d rightEnd %d", scanWindow.leftStart, scanWindow.leftEnd, scanWindow.rightStart, scanWindow.rightEnd);
if (CrashRedLine(map, map2, car, &scanWindow, who)) {
--
Gitblit v1.8.0