yy1717
2020-09-21 f1ff7e339eca91b114497d3e847fa1fc33baccc4
lib/src/main/cpp/test_items2/road_exam.cpp
@@ -1012,13 +1012,18 @@
    return CROSSING_NOT_HINT;
}
static void ResetCrossingStatus(int roadIndex)
/*****************************************************
 * 以正常通过路口或自由驾驶离开路段后
 * @param roadIndex
 */
static void ResetCrossingStatus(road_exam_map &RoadMap, int roadIndex)
{
    while (true) {
        bool w = false;
        for (auto it = CrossingHint.begin(); it != CrossingHint.end(); ++it) {
            if (it->first / 100 == roadIndex && it->second != CROSSING_NOT_HINT) {
                ChangeCrossingStatus(it->first / 100, it->first % 100, CROSSING_NOT_HINT);
                CrossingChange(RoadMap.roads[roadIndex].id, it->first % 100, 0);
                w = true;
                break;
            }
@@ -1485,9 +1490,8 @@
        DEBUG("道路ID切换 %d ======> %d", oldid, currExamMapIndex);
        if (oldid >= 0) {
            ResetCrossingStatus(oldid);
            ResetCrossingStatus(RoadMap, oldid);
            ResetErrorLaneRpt(oldid);
        }
        if (RoadMap.calibrate) {
@@ -1705,6 +1709,14 @@
    }
}
/*******************************************************************
 * 车辆越过停止线的方式通过路口
 * @param RoadMap
 * @param road
 * @param stop_line
 * @param active
 * @param car
 */
void CrossRoadCallback(road_exam_map &RoadMap, int road, int stop_line, int active, const car_model *car)
{
    if (RoadMap.calibrate) {