VIPRA Documentation
Loading...
Searching...
No Matches
subcondition_enter_objective.hpp
1#pragma once
2
3#include <string>
4#include <utility>
5#include "vipra/types/time.hpp"
6#include "vipra/vipra_behaviors/conditions/sub_condition.hpp"
7#include "vipra/vipra_behaviors/definitions/sim_pack.hpp"
8#include "vipra/vipra_behaviors/util/class_types.hpp"
9
10namespace VIPRA::Behaviors {
11class SubConditionEnterObj {
12 NON_DEFAULT_CONSTRUCTIBLE(SubConditionEnterObj)
13 COPYABLE(SubConditionEnterObj)
14 MOVEABLE(SubConditionEnterObj)
15
16 public:
17 explicit SubConditionEnterObj(std::string objName) : _objective(std::move(objName)) {}
18
19 void operator()(Simpack pack, const VIPRA::idxVec& peds,
20 std::vector<Target> const& targets, std::vector<bool>& met,
21 std::vector<bool> const& /*unused*/, BoolOp /*unused*/);
22
23 private:
24 std::string _objective;
25
26 // TODO(rolland): temporary fix for not having pedestrian memory
27 std::vector<std::set<VIPRA::idx>> _visited;
28};
29} // namespace VIPRA::Behaviors
Holds references to commonly used parameters for simpler passing.
Definition sim_pack.hpp:23