private void createVehicles() { Vehicles vehicles = this.scenario.getTransitVehicles(); VehiclesFactory vb = vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("transitVehicleType", VehicleType.class)); VehicleCapacity capacity = vb.createVehicleCapacity(); capacity.setSeats(101); capacity.setStandingRoom(0); vehicleType.setCapacity(capacity); vehicles.addVehicleType(vehicleType); Id<Vehicle> id = Id.create("tr_1", Vehicle.class); vehicles.addVehicle( vb.createVehicle(id, vehicleType)); id = Id.create("tr_2", Vehicle.class); vehicles.addVehicle( vb.createVehicle(id, vehicleType)); }
private void createAndAddVehicleIfNotPresent(Id<Vehicle> vehicleId, VehicleType vehicleType) { // try to get vehicle from the vehicles container: Vehicle vehicle = scenario.getVehicles().getVehicles().get(vehicleId); if ( vehicle==null ) { // if it was not found, next step depends on config: switch ( qSimConfigGroup.getVehiclesSource() ) { case defaultVehicle: vehicle = VehicleUtils.getFactory().createVehicle(vehicleId, vehicleType); scenario.getVehicles().addVehicle(vehicle); break; case modeVehicleTypesFromVehiclesData: vehicle = VehicleUtils.getFactory().createVehicle(vehicleId, vehicleType); scenario.getVehicles().addVehicle(vehicle); break; case fromVehiclesData: // otherwise complain: throw new IllegalStateException("Expecting a vehicle id which is missing in the vehicles database: " + vehicleId); default: // also complain when someone added another config option here: throw new RuntimeException("not implemented") ; } } }
public void run() { VehiclesFactory vb = this.vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("defaultTransitVehicleType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(101)); capacity.setStandingRoom(Integer.valueOf(0)); vehicleType.setCapacity(capacity); this.vehicles.addVehicleType(vehicleType); long vehId = 0; for (TransitLine line : this.schedule.getTransitLines().values()) { for (TransitRoute route : line.getRoutes().values()) { for (Departure departure : route.getDepartures().values()) { Vehicle veh = vb.createVehicle(Id.create("tr_" + Long.toString(vehId++), Vehicle.class), vehicleType); this.vehicles.addVehicle(veh); departure.setVehicleId(veh.getId()); } } } } }
for (Departure departure : route.getDepartures().values()) { if (!vehicles.getVehicles().keySet().contains(departure.getVehicleId())) { Vehicle vehicle = vehFactory.createVehicle(departure.getVehicleId(), vehType); vehicles.addVehicle( vehicle);
private void createVehicles() { Vehicles vehicles = this.scenario.getTransitVehicles(); VehiclesFactory vb = vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("transitVehicleType", VehicleType.class)); vehicles.addVehicleType(vehicleType); VehicleCapacity capacity = vb.createVehicleCapacity(); capacity.setSeats(101); capacity.setStandingRoom(0); vehicleType.setCapacity(capacity); for (int i = 0; i < nOfBuses; i++) { vehicles.addVehicle( vb.createVehicle(Id.create(i, Vehicle.class), vehicleType)); } }
private Vehicle createVehicle(Person driverPerson, CarrierVehicle carrierVehicle) { return VehicleUtils.getFactory().createVehicle(Id.create(driverPerson.getId(), Vehicle.class), carrierVehicle.getVehicleType()); }
@Test public void testRemoveVehicle() { Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType t1 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); vehicles.addVehicleType(t1); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), t1); Assert.assertEquals(0, vehicles.getVehicles().size()); vehicles.addVehicle(v1); Assert.assertEquals(1, vehicles.getVehicles().size()); vehicles.removeVehicle(Id.create("v1", Vehicle.class)); Assert.assertEquals(0, vehicles.getVehicles().size()); }
Vehicle v = this.builder.createVehicle(id, type); this.vehicles.addVehicle(v);
final Vehicle basicVehicle = VehicleUtils.getFactory().createVehicle( vehicleId, modeVehicleTypes.get( leg.getMode() ) );
@Test public void testGetVehicles(){ Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType testType = vehicles.getFactory().createVehicleType(Id.create("test", VehicleType.class)); vehicles.addVehicleType(testType); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), testType); /* Should get an unmodifiable Map of the Vehicles container. */ try{ vehicles.getVehicles().put(Id.create("v1", Vehicle.class), v1 ); vehicles.getVehicles(); Assert.fail("Should not be able to add to an unmodiafiable Map"); } catch (UnsupportedOperationException e){ /* Pass. */ } }
@Override public void insertAgentsIntoMobsim() { for (MobSimVehicleRoute vRoute : vehicleRoutes) { MobsimAgent agent = this.agentFactory.createMobsimAgentFromPerson(vRoute.getPlan().getPerson()); Vehicle vehicle = null; if(vRoute.getVehicle() == null){ vehicle = VehicleUtils.getFactory().createVehicle(Id.create(agent.getId(), Vehicle.class), VehicleUtils.getDefaultVehicleType()); log.warn("vehicle for agent "+vRoute.getPlan().getPerson().getId() + " is missing. set default vehicle where maxVelocity is solely defined by link.speed."); } else if(vRoute.getVehicle().getType() == null){ vehicle = VehicleUtils.getFactory().createVehicle(Id.create(agent.getId(), Vehicle.class), VehicleUtils.getDefaultVehicleType()); log.warn("vehicleType for agent "+vRoute.getPlan().getPerson().getId() + " is missing. set default vehicleType where maxVelocity is solely defined by link.speed."); } else vehicle = vRoute.getVehicle(); // qsim.createAndParkVehicleOnLink(vehicle, agent.getCurrentLinkId()); QVehicle qVehicle = new QVehicleImpl( vehicle ) ; qsim.addParkedVehicle( qVehicle, agent.getCurrentLinkId() ); // yyyyyy should rather use QVehicleFactory. kai, nov'18 qsim.insertAgentIntoMobsim(agent); mobSimAgents.add(agent); } }
@Test public void testAddVehicle() { Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType testType = vehicles.getFactory().createVehicleType(Id.create("test", VehicleType.class)); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), testType); /* Must add vehicle type before adding vehicle. */ try{ vehicles.addVehicle(v1); Assert.fail("Should not allow adding a vehicle if vehicle type has not been added to container first."); } catch(IllegalArgumentException e){ /* Pass. */ } vehicles.addVehicleType(testType); vehicles.addVehicle(v1); Vehicle v2 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), testType); try{ vehicles.addVehicle(v2); Assert.fail("Cannot add another vehicle with the same Id."); } catch (IllegalArgumentException e){ /* Pass. */ } }
@Override public void insertAgentsIntoMobsim() { Scenario scenario = qSim.getScenario(); Network network = scenario.getNetwork(); VehiclesFactory qSimVehicleFactory = VehicleUtils.getFactory(); for (int i = 0; i < AGENT_COUNT; i++) { RandomDynAgentLogic agentLogic = new RandomDynAgentLogic(network); Id<Person> id = Id.createPersonId(i); Id<Link> startLinkId = RandomDynAgentLogic.chooseRandomElement(network.getLinks().keySet()); DynAgent agent = new DynAgent(id, startLinkId, qSim.getEventsManager(), agentLogic); // qSim.createAndParkVehicleOnLink(qSimVehicleFactory.createVehicle(Id.create(id, Vehicle.class), // VehicleUtils.getDefaultVehicleType()), startLinkId); final Vehicle vehicle = qSimVehicleFactory.createVehicle( Id.create( id, Vehicle.class ), VehicleUtils.getDefaultVehicleType() ) ; QVehicle qVehicle = new QVehicleImpl( vehicle ) ; // yyyyyy should use factory. kai, nov'18 qSim.addParkedVehicle( qVehicle, startLinkId ); qSim.insertAgentIntoMobsim( agent ); } } }
@Test public void testRemoveVehicleType() { Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType t1 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); vehicles.addVehicleType(t1); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), t1); vehicles.addVehicle(v1); try { vehicles.removeVehicleType(t1.getId()); Assert.fail("expected exception, as vehicle type is still in use."); } catch (IllegalArgumentException e) { // pass } vehicles.removeVehicle(v1.getId()); vehicles.removeVehicleType(t1.getId()); // also test for non-existant vehicle types vehicles.removeVehicleType(Id.create("type2", VehicleType.class)); }
@Override public void insertAgentsIntoMobsim() { VehiclesFactory vehicleFactory = VehicleUtils.getFactory(); for (Vehicle vrpVeh : fleet.getVehicles().values()) { Id<Vehicle> id = vrpVeh.getId(); Id<Link> startLinkId = vrpVeh.getStartLink().getId(); VrpAgentLogic vrpAgentLogic = new VrpAgentLogic(optimizer, nextActionCreator, vrpVeh); DynAgent vrpAgent = new DynAgent(Id.createPersonId(id), startLinkId, qSim.getEventsManager(), vrpAgentLogic); QVehicle mobsimVehicle = new QVehicleImpl( vehicleFactory.createVehicle(Id.create(id, org.matsim.vehicles.Vehicle.class), vehicleType)); vrpAgent.setVehicle(mobsimVehicle); mobsimVehicle.setDriver(vrpAgent); qSim.addParkedVehicle(mobsimVehicle, startLinkId); qSim.insertAgentIntoMobsim(vrpAgent); } } }
Vehicle vehicle = VehicleUtils.getFactory().createVehicle(vehicleId,modesType.get(leg.getMode())); sc.getVehicles().addVehicle(vehicle);
Arrays.asList(link12, link23, link34, link45).forEach(l -> l.setFreespeed(10.0)); Vehicle vehicle = scenario.getVehicles().getFactory().createVehicle(Id.createVehicleId("P"), VehicleUtils.getDefaultVehicleType()); scenario.getVehicles().addVehicleType(VehicleUtils.getDefaultVehicleType());
Vehicle v = VehicleUtils.getFactory().createVehicle(vId, vehTypes[i]); scenario.getVehicles().addVehicle(v);
Vehicle veh = VehicleUtils.getFactory().createVehicle(vehId, vt); scenario.getVehicles().addVehicle(veh);
Vehicle veh = VehicleUtils.getFactory().createVehicle(vehId, vt); scenario.getVehicles().addVehicle(veh);