Struct sim::recorder::TrafficRecorder
source · pub(crate) struct TrafficRecorder {
capture_points: BTreeSet<IntersectionID>,
trips: Vec<IndividTrip>,
seen_trips: BTreeSet<TripID>,
}
Expand description
Records trips beginning and ending at a specified set of intersections. This can be used to capture and reproduce behavior in a gridlock-prone chunk of the map, without simulating everything.
Fields§
§capture_points: BTreeSet<IntersectionID>
§trips: Vec<IndividTrip>
§seen_trips: BTreeSet<TripID>
Implementations§
source§impl TrafficRecorder
impl TrafficRecorder
pub fn new(capture_points: BTreeSet<IntersectionID>) -> TrafficRecorder
pub fn handle_event( &mut self, time: Time, ev: &Event, map: &Map, driving: &DrivingSimState )
fn on_car_enters_traversable( &mut self, time: Time, car: CarID, trip: TripID, on: Traversable, map: &Map, driving: &DrivingSimState )
fn on_car_enters_lane( &mut self, time: Time, car: CarID, trip: TripID, lane: LaneID, map: &Map, driving: &DrivingSimState )
pub fn num_recorded_trips(&self) -> usize
pub fn save(self, map: &Map)
Trait Implementations§
source§impl Clone for TrafficRecorder
impl Clone for TrafficRecorder
source§fn clone(&self) -> TrafficRecorder
fn clone(&self) -> TrafficRecorder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for TrafficRecorder
impl RefUnwindSafe for TrafficRecorder
impl Send for TrafficRecorder
impl Sync for TrafficRecorder
impl Unpin for TrafficRecorder
impl UnwindSafe for TrafficRecorder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.