| | |
| | | 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()) { |
| | |
| | | for (int j = 0; j < RoadMap.triggerLines[i].points.size(); ++j) { |
| | | RoadMap.triggerLines[i].leftPoints.push_back(GetSELine(RoadMap.roads[index].leftEdge, RoadMap.triggerLines[i].points[j])); |
| | | } |
| | | |
| | | for (int j = 0; j < RoadMap.triggerLines[i].points.size(); ++j) { |
| | | DEBUG("触发线补齐 road %d id %d type %d (%0.4f, %0.4f)-(%0.4f, %0.4f)", RoadMap.roads[index].id, RoadMap.triggerLines[i].id, RoadMap.triggerLines[i].active, |
| | | RoadMap.triggerLines[i].points[0].X, RoadMap.triggerLines[i].points[0].Y, RoadMap.triggerLines[i].leftPoints[0].X, RoadMap.triggerLines[i].leftPoints[0].Y); |
| | | } |
| | | } |
| | | |
| | | 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()); |
| | | DEBUG("触发项目 %d %s (%0.4f, %0.4f)-(%0.4f, %0.4f)", RoadMap.triggerLines[i].active, RoadMap.triggerLines[i].tts.c_str(), triggerLine.X1, triggerLine.Y1, triggerLine.X2, triggerLine.Y2); |
| | | return &RoadMap.triggerLines[i]; |
| | | } |
| | | } |