@Override public void notifyMoveOverNode(final Id newLinkId) { assert passengersToBoard.isEmpty(); delegate.notifyMoveOverNode(newLinkId); }
private void moveVehicleFromInlinkToOutlink(final QVehicle veh, Id<Link> currentLinkId, final QLaneI fromLane, Id<Link> nextLinkId, QLaneI nextQueueLane) { double now = this.context.getSimTimer().getTimeOfDay() ; fromLane.popFirstVehicle(); // --> // network.simEngine.getMobsim().getEventsManager().processEvent(new LaneLeaveEvent(now, veh.getId(), currentLinkId, fromLane.getId())); this.context.getEventsManager().processEvent(new LinkLeaveEvent(now, veh.getId(), currentLinkId)); // <-- veh.getDriver().notifyMoveOverNode( nextLinkId ); // --> this.context.getEventsManager().processEvent(new LinkEnterEvent(now, veh.getId(), nextLinkId )); // <-- nextQueueLane.addFromUpstream(veh); }
veh.getDriver().notifyMoveOverNode(nextLinkId); this.em.processEvent(new LinkEnterEvent(time, veh.getId(), nextLinkId)); v.getDriver().notifyMoveOverNode(ql.getLink().getId()); ql.addFromUpstream(v);
/** * @param mobsimAgent * @param now * @return <code>true</code> if the agent was successfully moved over the node, <code>false</code> * otherwise (e.g. in case where the next link is jammed - not yet implemented) */ boolean moveAgentOverNode(final MobsimAgent mobsimAgent, final double now) { Id<Link> currentLinkId = mobsimAgent.getCurrentLinkId(); Id<Link> nextLinkId = ((MobsimDriverAgent) mobsimAgent).chooseNextLinkId(); Link currentLink = this.simEngine.getMultiModalQLinkExtension(currentLinkId).getLink(); if (nextLinkId != null) { Link nextLink = this.simEngine.getMultiModalQLinkExtension(nextLinkId).getLink(); if ( this.checkNextLinkSemantics(currentLink, nextLink, mobsimAgent) == false ) { moveToAbort(mobsimAgent, now, currentLink, nextLink); } else { // move Agent over the Node ((MobsimDriverAgent)mobsimAgent).notifyMoveOverNode(nextLinkId); this.simEngine.getMultiModalQLinkExtension(nextLinkId).addAgentFromIntersection(mobsimAgent, now); } } // --> nextLink == null else { moveToAbort(mobsimAgent, now, currentLink, null); } return true; }