yy1717
2020-05-15 76859aa4b23ea8ebd90bd7553fd70e144bdc96ba
lib/src/main/cpp/driver_test.cpp
@@ -196,106 +196,9 @@
    DEBUG("清除旧的路考地图");
    if (RoadMapPoints.point != NULL) {
        free(RoadMapPoints.point);
    }
    RoadMapPoints.num = 0;
    for (int i = 0; i < RoadMap.roads.size(); ++i) {
        for (int j = 0; j < RoadMap.roads[i].leftEdge.size(); ++j) {
            RoadMap.roads[i].leftEdge[j].points.clear();
            vector<PointF>().swap(RoadMap.roads[i].leftEdge[j].points);
        }
        RoadMap.roads[i].leftEdge.clear();
        vector<edge_t>().swap(RoadMap.roads[i].leftEdge);
        for (int j = 0; j < RoadMap.roads[i].rightEdge.size(); ++j) {
            RoadMap.roads[i].rightEdge[j].points.clear();
            vector<PointF>().swap(RoadMap.roads[i].rightEdge[j].points);
        }
        RoadMap.roads[i].rightEdge.clear();
        vector<edge_t>().swap(RoadMap.roads[i].rightEdge);
        for (int j = 0; j < RoadMap.roads[i].separate.size(); ++j) {
            for (int k = 0; k < RoadMap.roads[i].separate[j].lines.size(); ++k) {
                for (int m = 0; m < RoadMap.roads[i].separate[j].lines[k].size(); ++m) {
                    RoadMap.roads[i].separate[j].lines[k][m].points.clear();
                    vector<PointF>().swap(RoadMap.roads[i].separate[j].lines[k][m].points);
                }
                RoadMap.roads[i].separate[j].lines[k].clear();
                vector<segment_t>().swap(RoadMap.roads[i].separate[j].lines[k]);
            }
            RoadMap.roads[i].separate[j].lines.clear();
            vector<vector<segment_t>>().swap(RoadMap.roads[i].separate[j].lines);
        }
        RoadMap.roads[i].separate.clear();
        vector<separate_t>().swap(RoadMap.roads[i].separate);
    }
    RoadMap.roads.clear();
    vector<road_t>().swap(RoadMap.roads);
    for (int i = 0; i < RoadMap.specialAreas.size(); ++i) {
        RoadMap.specialAreas[i].area.clear();
        vector<PointF>().swap(RoadMap.specialAreas[i].area);
    }
    RoadMap.specialAreas.clear();
    vector<special_area_t>().swap(RoadMap.specialAreas);
    RoadMap.triggerLines.clear();
    vector<trigger_line_t>().swap(RoadMap.triggerLines);
/*
    for (int i = 0; i < RoadMapList.size(); ++i) {
        struct road_exam_map map = RoadMapList[i];
        if (map.redLine != NULL) {
            for (int j = 0; j < map.redLineNum; ++j) {
                if (map.redLine[j].point != NULL)
                    free(map.redLine[j].point);
            }
            free(map.redLine);
        }
        if (map.greenLine != NULL) {
            for (int j = 0; j < map.greenLineNum; ++j) {
                if (map.greenLine[j].point != NULL)
                    free(map.greenLine[j].point);
            }
            free(map.greenLine);
        }
        if (map.redArea != NULL) {
            for (int j = 0; j < map.redAreaNum; ++j) {
                if (map.redArea[j].point != NULL)
                    free(map.redArea[j].point);
            }
            free(map.redArea);
        }
        if (map.triggerLine != NULL) {
            for (int j = 0; j < map.triggerLineNum; ++j) {
                if (map.triggerLine[j].line.point != NULL)
                    free(map.triggerLine[j].line.point);
            }
            free(map.triggerLine);
        }
        if (map.area.point != NULL) {
            free(map.area.point);
        }
        if (map.roadEdgeLine != NULL) {
            for (int j = 0; j < map.roadEdgeLineNum; ++j) {
                if (map.roadEdgeLine[j].point != NULL)
                    free(map.roadEdgeLine[j].point);
            }
            free(map.roadEdgeLine);
        }
    }
    RoadMapList.clear();*/
}
void SetRoadMap(road_exam_map &map)