@Override public final PlanElement getCurrentPlanElement() { return this.plan.getPlanElements().get(this.currentPlanElementIndex); } @Override
/** * @param plan * (always starts with Activity) */ public PlanToDynAgentLogicAdapter(Plan plan) { planElemIter = plan.getPlanElements().iterator(); }
public static Plan printPlan(Plan plan) { System.err.println( "plan=" + plan ); for ( int ii=0 ; ii<plan.getPlanElements().size() ; ii++ ) { System.err.println( "\t" + ii + ":\t" + plan.getPlanElements().get(ii) ); } return plan; }
public static Activity getPreviousActivity( Plan plan, Leg leg ) { int index = PopulationUtils.getActLegIndex(plan, leg); if (index != -1) { return (Activity) plan.getPlanElements().get(index-1); } return null; } public static Leg getPreviousLeg( Plan plan, Activity act ) {
public static int indexOfPlanElement(MobsimAgent agent, PlanElement pe) { Plan plan = getModifiablePlan(agent) ; List<PlanElement> planElements = plan.getPlanElements() ; return planElements.indexOf(pe) ; }
public static List<Activity> getActivities( final Plan plan, final StageActivityTypes stageActivities) { return getActivities( plan.getPlanElements(), stageActivities); }
public static List<Trip> getTrips( final Plan plan, final StageActivityTypes stageActivities) { return getTrips( plan.getPlanElements(), stageActivities); }
public UnmodifiablePlan( Plan plan ) { this.delegate = plan; List<PlanElement> tmp = new ArrayList<>() ; for ( PlanElement pe : plan.getPlanElements() ) { if (pe instanceof Activity) { tmp.add(unmodifiableActivity((Activity) pe)); } else if (pe instanceof Leg) { tmp.add(unmodifiableLeg((Leg) pe)); } } this.unmodifiablePlanElements = Collections.unmodifiableList(tmp); }
private double getTravelDist(final Person person) { double travelDist=0.0; for (PlanElement pe : person.getSelectedPlan().getPlanElements()) { if (pe instanceof Leg) { travelDist+=((Leg) pe).getRoute().getDistance(); } } return travelDist; }
public final void rescheduleActivityEndtime( MobsimAgent agent, int index, double newEndTime ) { Activity activity = (Activity) WithinDayAgentUtils.getModifiablePlan(agent).getPlanElements().get(index) ; activity.setEndTime(newEndTime); WithinDayAgentUtils.resetCaches(agent); WithinDayAgentUtils.rescheduleActivityEnd(agent, mobsim); } public final Activity replaceActivity(MobsimAgent agent, int index, Activity newAct, String upstreamMode, String downstreamMode ) {
public void moveToFirstLinkInNextLeg() { Plan plan = getOwnerPerson().getSelectedPlan(); List<? extends PlanElement> actsLegs = plan.getPlanElements(); setCurrentLinkId(((Activity) actsLegs.get(getLegIndex() + 1)).getLinkId()); }
public static void convertLegModes(List<String> passengerIds, String mode, Scenario scenario) { Map<Id<Person>, ? extends Person> persons = scenario.getPopulation().getPersons(); for (String id : passengerIds) { Person person = persons.get(Id.create(id, Person.class)); for (PlanElement pe : person.getSelectedPlan().getPlanElements()) { if (pe instanceof Leg) { ((Leg)pe).setMode(mode); } } } }
public final void replanCurrentLeg( MobsimAgent agent, double now ) { Plan plan = WithinDayAgentUtils.getModifiablePlan(agent) ; PlanElement pe = plan.getPlanElements().get( WithinDayAgentUtils.getCurrentPlanElementIndex(agent)) ; if ( !(pe instanceof Leg) ) { return ; } int currentLinkIndex = WithinDayAgentUtils.getCurrentRouteLinkIdIndex(agent) ; this.replanCurrentLegRoute((Leg)pe, ((HasPerson)agent).getPerson(), currentLinkIndex, now ) ; WithinDayAgentUtils.resetCaches(agent); }
public void modifyPopulation(Population population) { // modify population: a plan was needed, which contained some properties to be compared with C++ Person p = population.getPersons().get(Id.create("1", Person.class)); Plan plan = p.getSelectedPlan(); List<? extends PlanElement> actsLegs = plan.getPlanElements(); ((Activity)actsLegs.get(0)).setEndTime(360); ((Activity)actsLegs.get(2)).setEndTime(900); // this requires immediate departure after arrival ((Activity)actsLegs.get(4)).setEndTime(2000); }
@Override public boolean invoke() { Population inPopulation = loadPopulation(outputDirectoryHierarchy.getTempPath()+"/test_plans.in.xml"); for (Person person : inPopulation.getPersons().values()) { person.getSelectedPlan().getPlanElements().clear(); } new PopulationWriter(inPopulation).write(outputDirectoryHierarchy.getTempPath()+"/test_plans.out.xml"); return true; } }, "test", outputDirectoryHierarchy, scenario);
public void testGetOpeningInterval() { Activity act = (Activity) person.getSelectedPlan().getPlanElements().get(0) ; FacilityOpeningIntervalCalculator testee = new FacilityOpeningIntervalCalculator(this.facilities); double[] openInterval = testee.getOpeningInterval(act); assertEquals(6.0 * 3600, openInterval[0], EPSILON); assertEquals(19.0 * 3600, openInterval[1], EPSILON); }
public void testWalkOnlyPlan() { Plan plan = PopulationUtils.createPlan(); Coord dummyCoord = new Coord((double) 0, (double) 0); plan.addActivity(PopulationUtils.createActivityFromCoord("h", dummyCoord)); plan.addLeg(PopulationUtils.createLeg(TransportMode.transit_walk)); plan.addActivity(PopulationUtils.createActivityFromCoord("w", dummyCoord)); new TransitActsRemover().run(plan); assertEquals(3, plan.getPlanElements().size()); assertEquals(TransportMode.pt, ((Leg) plan.getPlanElements().get(1)).getMode()); }
public void testNoTransitActPlan() { Plan plan = PopulationUtils.createPlan(); Coord dummyCoord = new Coord((double) 0, (double) 0); plan.addActivity(PopulationUtils.createActivityFromCoord("h", dummyCoord)); plan.addLeg(PopulationUtils.createLeg(TransportMode.car)); plan.addActivity(PopulationUtils.createActivityFromCoord("w", dummyCoord)); new TransitActsRemover().run(plan); assertEquals(3, plan.getPlanElements().size()); assertEquals(TransportMode.car, ((Leg) plan.getPlanElements().get(1)).getMode()); }
public void testPlanWithoutLegs() { Plan plan = PopulationUtils.createPlan(); Coord dummyCoord = new Coord((double) 0, (double) 0); plan.addActivity(PopulationUtils.createActivityFromCoord("h", dummyCoord)); new TransitActsRemover().run(plan); assertEquals(1, plan.getPlanElements().size()); // this mostly checks that there is no exception }
@Test public void testReadingPlansV4parallel() { Config config = ConfigUtils.createConfig(); config.plans().setNetworkRouteType("CompressedNetworkRoute"); Scenario s = ScenarioUtils.createScenario(config); new MatsimNetworkReader(s.getNetwork()).readFile("test/scenarios/equil/network.xml"); new ParallelPopulationReaderMatsimV4(s).readFile("test/scenarios/equil/plans1.xml"); Assert.assertEquals(1, s.getPopulation().getPersons().size()); Leg firstPersonsLeg = (Leg) s.getPopulation().getPersons().get(Id.create("1", Person.class)).getSelectedPlan().getPlanElements().get(1); // Assert.assertTrue(firstPersonsLeg.getRoute() instanceof CompressedNetworkRouteImpl); }