/** * Adds a single network change event and applies it to the corresponding * links. * * @param event * a network change event. */ @Override public void addNetworkChangeEvent(final NetworkChangeEvent event) { this.networkChangeEvents.add(event); for (Link link : event.getLinks()) { if (link instanceof TimeVariantLinkImpl) { ((TimeVariantLinkImpl)link).applyEvent(event); } else { throw new IllegalArgumentException("Link " + link.getId().toString() + " is not timeVariant. " + "Did you make the network factory time variant? The easiest way to achieve this is " + "either in the config file, or syntax of the type\n" + "config.network().setTimeVariantNetwork(true);\n" + "Scenario scenario = ScenarioUtils.load/createScenario(config);\n" + "Note that the scenario needs to be created _after_ the config option is set, otherwise" + "the factory will already be there."); } } }
event.addLink(link1); event.setFreespeedChange(new ChangeValue(NetworkChangeEvent.ChangeType.ABSOLUTE_IN_SI_UNITS,10.)); ((TimeVariantLinkImpl)link1).applyEvent(event); event.addLink(link3); event.setFreespeedChange(new ChangeValue(NetworkChangeEvent.ChangeType.FACTOR,6.)); ((TimeVariantLinkImpl)link3).applyEvent(event);
change.addLink(link); change.setFreespeedChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 20)); link.applyEvent(change); link.applyEvent(change2); change3.addLink(link); change3.setFreespeedChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 30)); link.applyEvent(change3); change4.addLink(link); change4.setFreespeedChange(new ChangeValue(ChangeType.OFFSET_IN_SI_UNITS, +22.)); link.applyEvent(change4); change4.addLink(link); change4.setFreespeedChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 40)); link.applyEvent(change4); link.applyEvent(change5); link.applyEvent(change6);
change.addLink(link); change.setLanesChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 2.0)); link.applyEvent(change);
change.addLink(link); change.setFlowCapacityChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 2)); link.applyEvent(change);
change.addLink(link); change.setFreespeedChange(new ChangeValue(ChangeType.ABSOLUTE_IN_SI_UNITS, 20)); link.applyEvent(change);
change.addLink(link); change.setFreespeedChange(new ChangeValue(ChangeType.FACTOR, 0.5)); link.applyEvent(change);