this.events.processEvent(new PersonLeavesVehicleEvent(time, personId, vehicleIdOfDriver));
Id<Person> pId = Id.create(atts.getValue(PersonLeavesVehicleEvent.ATTRIBUTE_PERSON), Person.class); Id<Vehicle> vId = Id.create(atts.getValue(PersonLeavesVehicleEvent.ATTRIBUTE_VEHICLE), Vehicle.class); this.events.processEvent(new PersonLeavesVehicleEvent(time, pId, vId)); } else if (TeleportationArrivalEvent.EVENT_TYPE.equals(eventType)) { this.events.processEvent(new TeleportationArrivalEvent(
public void dropOffPassenger(MobsimDriverAgent driver, PassengerRequest request, double now) { MobsimPassengerAgent passenger = passengersByRequestId.remove(request.getId()); MobsimVehicle mobVehicle = driver.getVehicle(); mobVehicle.removePassenger(passenger); passenger.setVehicle(null); eventsManager.processEvent(new PersonLeavesVehicleEvent(now, passenger.getId(), mobVehicle.getId())); passenger.notifyArrivalOnLinkByNonNetworkMode(passenger.getDestinationLinkId()); passenger.endLegAndComputeNextState(now); internalInterface.arrangeNextAgentState(passenger); } }
eventQueue.add(new PersonLeavesVehicleEvent(prevEndTime + travelTime, personId, personId)); } catch (NullPointerException ne) { Logger.getLogger(this.getClass()).error("No route for car leg. Continuing with next leg"); eventQueue.add(new PersonLeavesVehicleEvent(trip.egressTime_s(), personId, vehicleId)); // dummyVehicleId)); travelTime = trip.egressTime_s() - prevEndTime;
@Override public boolean handlePassengerLeaving(PTPassengerAgent passenger, MobsimVehicle vehicle, Id<Link> toLinkId, double time) { boolean handled = vehicle.removePassenger(passenger); if(handled){ eventsManager.processEvent(new PersonLeavesVehicleEvent(time, passenger.getId(), vehicle.getVehicle().getId())); // from here on works only if PassengerAgent can be cast into MobsimAgent ... but this is how it was before. // kai, sep'12 MobsimAgent agent = (MobsimAgent) passenger ; agent.notifyArrivalOnLinkByNonNetworkMode(toLinkId); agent.endLegAndComputeNextState(time); this.internalInterface.arrangeNextAgentState(agent) ; // (cannot set trEngine to TransitQSimEngine because there are tests where this will not work. kai, dec'11) } return handled; }
private void letVehicleArrive(QVehicle veh) { double now = this.qsim.getSimTimer().getTimeOfDay(); MobsimDriverAgent driver = veh.getDriver(); this.qsim.getEventsManager().processEvent(new PersonLeavesVehicleEvent(now, driver.getId(), veh.getId())); // reset vehicles driver veh.setDriver(null); driver.endLegAndComputeNextState(now); this.internalInterface.arrangeNextAgentState(driver); }
((MobsimAgent) p).endLegAndComputeNextState( now ); events.processEvent( new PersonLeavesVehicleEvent(now, p.getId(), vehicle.getId())); internalInterface.arrangeNextAgentState( (MobsimAgent) p );
new PersonLeavesVehicleEvent(now, driver.getId(), Id.create(driver.getId(), Vehicle.class)));
public void testWriteReadXml() { Person person = PopulationUtils.getFactory().createPerson(Id.create(1, Person.class)); VehicleType vehicleType = new VehicleTypeImpl(Id.create("testVehType", VehicleType.class)); Vehicle vehicle = new VehicleImpl(Id.create(80, Vehicle.class), vehicleType); PersonLeavesVehicleEvent event = new PersonLeavesVehicleEvent(5.0 * 3600 + 11.0 * 60, person.getId(), vehicle.getId()); PersonLeavesVehicleEvent event2 = XmlEventsTester.testWriteReadXml(getOutputDirectory() + "events.xml", event); assertEquals("wrong time of event.", 5.0 * 3600 + 11.0 * 60, event2.getTime(), EPSILON); assertEquals("wrong vehicle id.", "80", event2.getVehicleId().toString()); } }
tl.handleEvent(new PersonLeavesVehicleEvent(7.1*3600-5, Id.create(0, Person.class), vehicleIdDep1)); tl.handleEvent(new PersonEntersVehicleEvent(7.1*3600, Id.create(1, Person.class), vehicleIdDep1)); tl.handleEvent(new PersonEntersVehicleEvent(7.1*3600+5, Id.create(2, Person.class), vehicleIdDep1)); tl.handleEvent(new PersonLeavesVehicleEvent(7.2*3600-5, Id.create(2, Person.class), vehicleIdDep1)); tl.handleEvent(new PersonEntersVehicleEvent(7.2*3600, Id.create(3, Person.class), vehicleIdDep1)); tl.handleEvent(new VehicleDepartsAtFacilityEvent(7.2*3600+20, vehicleIdDep1, stop3.getId(), 0)); tl.handleEvent(new VehicleDepartsAtFacilityEvent(7.3*3600+5, vehicleIdDep1, stop4.getId(), 0)); tl.handleEvent(new PersonLeavesVehicleEvent(7.35*3600-5, Id.create("carDriver1", Person.class), Id.create("car1", Vehicle.class))); tl.handleEvent(new PersonLeavesVehicleEvent(7.4*3600-5, Id.create(1, Person.class), vehicleIdDep1)); tl.handleEvent(new PersonLeavesVehicleEvent(7.4*3600, Id.create(3, Person.class), vehicleIdDep1)); tl.handleEvent(new VehicleDepartsAtFacilityEvent(7.4*3600+5, vehicleIdDep1, stop1.getId(), 0)); tl.handleEvent(new PersonLeavesVehicleEvent(7.45*3600-20, Id.create("ptDriver1", Person.class), vehicleIdDep1));
scoring2.handleEvent( enterVehicle ); final Event leaveVehicle = new PersonLeavesVehicleEvent(leg.getDepartureTime() + leg.getTravelTime(), Id.create( 1, Person.class ), Id.create( 1, Vehicle.class )); scoring1.handleEvent( leaveVehicle ); scoring2.handleEvent( leaveVehicle ); scoring2.handleEvent( enterVehicle ); final Event leaveVehicle = new PersonLeavesVehicleEvent(leg.getDepartureTime() + leg.getTravelTime(), Id.create( 1, Person.class ), Id.create( 1, Vehicle.class )); scoring1.handleEvent( leaveVehicle ); scoring2.handleEvent( leaveVehicle ); scoring2.handleEvent( enterVehicle ); final Event leaveVehicle = new PersonLeavesVehicleEvent(leg.getDepartureTime() + leg.getTravelTime(), Id.create( 1, Person.class ), Id.create( 1, Vehicle.class )); scoring1.handleEvent( leaveVehicle ); scoring2.handleEvent( leaveVehicle );
scoring2.handleEvent( enterVehicle ); final Event leaveVehicle = new PersonLeavesVehicleEvent(leg.getDepartureTime() + leg.getTravelTime(), Id.create( 1, Person.class ), Id.create( 1, Vehicle.class )); scoring1.handleEvent( leaveVehicle ); scoring2.handleEvent( leaveVehicle );
return new PersonLeavesVehicleEvent(pe.getPersonLeavesVehicle().getTime(), Id.createPersonId(pe.getPersonLeavesVehicle().getPersId().getId()), Id.createVehicleId(pe.getPersonLeavesVehicle().getVehId().getId()));