27 {
29
30 if (environment_features.has_front_junction() &&
31 environment_features.GetFrontJunction().second <
32 FLAGS_junction_distance_threshold) {
34 } else if (environment_features.has_ego_lane()) {
36 }
37
39 auto cruise_scenario_features = std::make_shared<CruiseScenarioFeatures>();
40 cruise_scenario_features->BuildCruiseScenarioFeatures(environment_features);
41 return cruise_scenario_features;
42 }
43
45 auto junction_scenario_features =
46 std::make_shared<JunctionScenarioFeatures>();
47
48 junction_scenario_features->BuildJunctionScenarioFeatures(
49 environment_features);
50 return junction_scenario_features;
51 }
52
53 return std::make_shared<ScenarioFeatures>();
54}