This PR changes and simplifies the structure of the simulator. Both alternatives and route selection implementations are now provided via interfaces, and it's thus easily possible to implement various implementations of these algorithms. PTDR is not implemented yet, it would need to be adapted to match the new interfaces.
The movement of a vehicle (advance_vehicle) has now also been rewritten from Rust to Python. If PTDR is not needed, the Rust binding can now be completely removed from the simulator.
This PR changes and simplifies the structure of the simulator. Both alternatives and route selection implementations are now provided via interfaces, and it's thus easily possible to implement various implementations of these algorithms. PTDR is not implemented yet, it would need to be adapted to match the new interfaces.
The movement of a vehicle (
advance_vehicle
) has now also been rewritten from Rust to Python. If PTDR is not needed, the Rust binding can now be completely removed from the simulator.To start the simulator, you can run this command: