Dynamic Road Markings, Traffic Lights & Traffic Signs
This PR makes RoadMarkings, TrafficLights & TrafficSigns dynamic. Specifically:
- Users can hold a reference to such types which will remain valid even if the underlying handle was moved, as long as it is still present in the
osi3::GroundTruth
after being updated - Users can still check what the id of the object was after the handle was deleted
- Users can now update these types
T...
between timesteps withWorld::UpdateAll<T...>
- osiql computes what lanes and roads a road marking overlaps with instead of relying on its
osi3::LogicalLaneAssignment
s
Additional changes:
- Road marking overlaps are now computed, allowing the retrieval of the st-coordinate bounds of a marking
- The bulbs of traffic lights are now always sorted by ascending id
TL;DR: In practical terms, if a user has a traffic light and its state changes it can read that traffic light's state after updating and the state will reflect those changes.
Edited by Noah Schick