Line data Source code
1 : #pragma once 2 : 3 : #include "Dynamic/SUMOAdapter.hpp" 4 : 5 : namespace Dynamic::Env { 6 : 7 : class Env; 8 : 9 : template<typename T, typename... Args> 10 : class Loader { 11 : public: 12 : std::shared_ptr<Env> load(T arg1, Args... arg2); 13 : }; 14 : 15 : // clang-format off 16 : template<> 17 0 : class Loader< 18 : const SUMO::NetworkTAZs &, 19 : RewardFunction & 20 : > { 21 : // clang-format on 22 : 23 : Env *env; 24 : 25 : void addTrafficLights(const SUMO::NetworkTAZs &sumo); 26 : void addEdges(const SUMO::NetworkTAZs &sumo); 27 : void addConnections(const SUMO::NetworkTAZs &sumo); 28 : void addTAZs(const SUMO::NetworkTAZs &sumo); 29 : 30 : Connection::ID nextConnectionID = 1; 31 : 32 : virtual void addConnection( 33 : const SUMO::NetworkTAZs &sumo, 34 : const SUMO::Network::Connection &connection 35 : ); 36 : virtual void addConflicts( 37 : const SUMO::NetworkTAZs &sumo, 38 : const SUMO::Network::Connection &connection 39 : ); 40 : 41 : public: 42 : SUMOAdapter adapter; 43 : 44 : std::shared_ptr<Env> load( 45 : const SUMO::NetworkTAZs &sumo, 46 : RewardFunction &rewardFunction 47 : ); 48 : }; 49 : } // namespace Dynamic::Env