yy1717
2020-08-17 21834035950feaadac9d4c7cad82b90ee624c984
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//
// Created by YY on 2020/3/17.
//
 
#ifndef MYAPPLICATION2_ROAD_EXAM_H
#define MYAPPLICATION2_ROAD_EXAM_H
 
#include "../driver_test.h"
 
#define GENERAL_MAP                     100
#define DRIVE_STRAIGHT_MAP              101
#define OP_GEAER_MAP                    102
#define STOP_CAR_MAP                    103
#define THROUGH_INTERSECTION_MAP        104
#define TURN_LEFT_MAP                   105
#define TURN_RIGHT_MAP                  106
#define THROUGH_ZEBRA_CROSSING_MAP      107
#define THROUGH_SCHOOL_MAP              108
#define THROUGH_BUS_STATION_MAP         109
#define TURN_AROUND_MAP                 110
 
struct drive_timer {
    int hour;
    int min;
    int sec;
    int msec;
};
void CrossRoadCallback(int road, int stop_line, int active, const car_model *car);
void Rtk2DriveTimer(struct drive_timer &tm, const struct RtkTime *rtkTime);
void InitRoadExam(road_exam_map &RoadMap);
void TerminateRoadExam(void);
void TestRoadGeneral(road_exam_map &RoadMap, const car_model *car, LIST_CAR_MODEL &CarModelList, double speed, int moveDirect, const struct RtkTime *rtkTime);
 
bool CrashTheLine(Line line, const car_model *car, LIST_CAR_MODEL &CarModelList);
double CalcDistanceReference(PointF point, PointF refPoint, vector<edge_t> &edge);
PointF CalcProjectionWithRoadEdge(vector<edge_t> &edge, PointF point);
 
#endif //MYAPPLICATION2_ROAD_EXAM_H