14 DEFAULT_CONSTRUCTIBLE(TargetSelector)
15 COPYABLE(TargetSelector)
16 MOVEABLE(TargetSelector)
19 explicit TargetSelector(TargetFunc&& func) : _select(func) {}
21 void get_targets(
Simpack pack,
const VIPRA::idxVec& peds, std::vector<Target>& targets)
24 std::for_each(peds.begin(), peds.end(), [&](
auto idx) {
25 targets[idx] = Target{TargetType::PEDESTRIAN, idx};
30 std::for_each(peds.begin(), peds.end(), [&](
auto idx) {
31 targets[idx] = _select.value()(pack, Self{Target{TargetType::PEDESTRIAN, idx}});
36 std::optional<TargetFunc> _select;