yy1717
2020-10-23 c484cbb09d445e2ab30ea011c6d2ffd87202bb26
lib/src/main/cpp/test_items2/through_something.cpp
@@ -27,10 +27,6 @@
#define STOP_CAR            8
#define OVER_SPEED          16
static const double DISTANCE_STOP_CAR_TO_STOP_LINE = 3.0;
static const double PASS_SCHOOL_MAX_SPEED = 30.0;           // kmh
static const double LASTEST_BREAK_POINT = 30.0;
static void SetTargetReduceRec(map<int, int> &table, int key, int status)
{
    auto it = table.find(key);
@@ -85,7 +81,7 @@
        int key = roadIndex * 100 + i;
        int rec = GetTargetReduceRec(TargetReduceRec, key);
        if (distance > 1e-3 && distance < LASTEST_BREAK_POINT) {
        if (distance > 1e-3 && distance < examParam.crossing_break_valid_distance) {
            if (rec == NOT_ENTER) {
                SetTargetReduceRec(TargetReduceRec, key, ENTER_Z);
            }
@@ -94,13 +90,13 @@
                DEBUG("检测到路口刹车动作");
                SetTargetReduceRec(TargetReduceRec, key, rec | REDUCE_SPEED);
            }
        } else if (distance > 1e-3 && distance < DISTANCE_STOP_CAR_TO_STOP_LINE) {
        } else if (distance > 1e-3 && distance < examParam.crossing_stop_valid_distance) {
            // 路口停车观察
            if (moveDirect == 0 && !(rec & STOP_CAR)) {
                DEBUG("检测到路口停车动作");
                SetTargetReduceRec(TargetReduceRec, key, rec | STOP_CAR);
            }
        } else if (distance > LASTEST_BREAK_POINT + 5 && rec != NOT_ENTER) {
        } else if (distance > examParam.crossing_break_valid_distance + 5 && rec != NOT_ENTER) {
            RemoveTargetReduceRec(TargetReduceRec, key);
        }
    }
@@ -126,7 +122,7 @@
                nearbyTarget.push_back(distance1);
            }
            if (distance1 > 1e-3 && distance1 < LASTEST_BREAK_POINT) {
            if (distance1 > 1e-3 && distance1 < examParam.crossing_break_valid_distance) {
                if (rec == NOT_ENTER) {
                    SetTargetReduceRec(TargetReduceRec2, key, ENTER_Z);
                }
@@ -135,7 +131,7 @@
                    DEBUG("检测到人行道等刹车动作");
                    SetTargetReduceRec(TargetReduceRec2, key, rec | REDUCE_SPEED);
                }
            } else if (distance1 > LASTEST_BREAK_POINT + 5 && rec != NOT_ENTER) {
            } else if (distance1 > examParam.crossing_break_valid_distance + 5 && rec != NOT_ENTER) {
                RemoveTargetReduceRec(TargetReduceRec2, key);
            }
        } else if (RoadMap.specialAreas[i].type == SCHOOL_AREA) {
@@ -150,7 +146,7 @@
                if (rec == NOT_ENTER) {
                    SetTargetReduceRec(TargetReduceRec2, key, ENTER_Z);
                }
                if (ConvertMs2KMh(speed) > PASS_SCHOOL_MAX_SPEED && !(rec & OVER_SPEED)) {
                if (ConvertMs2KMh(speed) > examParam.cross_school_max_speed && !(rec & OVER_SPEED)) {
                    SetTargetReduceRec(TargetReduceRec2, key, rec | OVER_SPEED);
                    DEBUG("通过学校区域超速 %f kmh", ConvertMs2KMh(speed));