| | |
| | | |
| | | if (odoGraph > EXAM_RANGE && currRoadItem == NULL && AllCmp(RoadMap) && stopCar == STOP_CAR_NOT_DO) { |
| | | // 在合适条件下停车结束考试 |
| | | StartStopCarExam(""); |
| | | StartStopCarExam("请靠边停车"); |
| | | stopCar = STOP_CAR_DOING; |
| | | } else if (stopCar == STOP_CAR_DOING) { |
| | | if (ExecuteStopCarExam(RoadMap.roads[currExamMapIndex], car, CarModelList, speed, moveDirect, rtkTime) < 0) |
| | |
| | | static trigger_line_t * EntryItem(int index, road_exam_map &RoadMap, const car_model *car, LIST_CAR_MODEL &CarModelList) |
| | | { |
| | | for (int i = 0; i < RoadMap.triggerLines.size(); ++i) { |
| | | if (RoadMap.triggerLines[i].road == RoadMap.roads[index].id) { |
| | | /*if (RoadMap.triggerLines[i].road == RoadMap.roads[index].id)*/ { |
| | | Line triggerLine; |
| | | |
| | | if (RoadMap.triggerLines[i].leftPoints.size() != RoadMap.triggerLines[i].points.size()) { |
| | |
| | | MakeLine(&triggerLine, &RoadMap.triggerLines[i].points[0], &RoadMap.triggerLines[i].leftPoints[0]); |
| | | |
| | | if (CrashTheLine(triggerLine, car, CarModelList)) { |
| | | DEBUG("触发项目 %d %s", RoadMap.triggerLines[i].active, RoadMap.triggerLines[i].tts.c_str()); |
| | | return &RoadMap.triggerLines[i]; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | // 人行道、公交站刹车点;学校限速区 |
| | | DEBUG("补全特殊区域 size = %d", map.specialAreas.size()); |
| | | for (int i = 0; i < map.specialAreas.size(); i++) { |
| | | if (map.specialAreas[i].type == GRID_AREA) |
| | | continue; |
| | |
| | | } |
| | | |
| | | if (map.specialAreas[i].type == ZEBRA_CROSSING || map.specialAreas[i].type == BUS_STATION_AREA) { |
| | | DEBUG("斑马线"); |
| | | Line startLine; |
| | | |
| | | MakeLine(&startLine, &map.specialAreas[i].area[0], &map.specialAreas[i].leftPoints[0]); |
| | |
| | | } |
| | | } else if (map.specialAreas[i].type == SCHOOL_AREA) { |
| | | Polygon school; |
| | | |
| | | DEBUG("学校"); |
| | | school.num = 4; |
| | | school.point = (PointF *) malloc(school.num * sizeof(PointF)); |
| | | |
| | |
| | | free(school.point); |
| | | } |
| | | } |
| | | DEBUG("补全特殊区域 over"); |
| | | } |
| | | |
| | | #if 0 |