20 package org.matsim.core.mobsim.qsim.qnetsimengine;
23 import java.util.Optional;
69 this.netsimEngine = netsimEngine1;
76 AbstractAgentSnapshotInfoBuilder agentSnapshotInfoBuilder = QNetsimEngineWithThreadpool.createAgentSnapshotInfoBuilder(scenario, linkWidthCalculator);
77 context =
new NetsimEngineContext(events, effectiveCellSize, agentCounter, agentSnapshotInfoBuilder, qsimConfig, mobsimTimer, linkWidthCalculator);
87 QueueWithBuffer.Builder laneFactory =
new QueueWithBuffer.Builder(context);
88 vehicleQFactory.ifPresent(factory -> laneFactory.setVehicleQueue(factory.createVehicleQ()));
89 flowEfficiencyCalculator.ifPresent(laneFactory::setFlowEfficiencyCalculator);
90 linkBuilder.setLaneFactory(laneFactory);
93 linkBuilder.setLinkSpeedCalculator( this.linkSpeedCalculator );
94 vehicleHandler.ifPresent(linkBuilder::setVehicleHandler);
96 return linkBuilder.build(link, toQueueNode);
101 QNodeImpl.Builder builder =
new QNodeImpl.Builder(netsimEngine, context, qsimConfig);
103 turnAcceptanceLogic.ifPresent(builder::setTurnAcceptanceLogic);
105 return builder.build(node);
113 this.turnAcceptanceLogic = Optional.of(turnAcceptanceLogic);
117 this.vehicleHandler = Optional.of(vehicleHandler);
121 this.vehicleQFactory = Optional.of(factory);
125 this.flowEfficiencyCalculator = Optional.of(flowEfficiencyCalculator);
final void setFlowEfficiencyCalculator(FlowEfficiencyCalculator flowEfficiencyCalculator)
Optional< FlowEfficiencyCalculator > flowEfficiencyCalculator
Optional< VehicleHandler > vehicleHandler
void setLaneWidth(double dd)
final void setLinkSpeedCalculator(LinkSpeedCalculator linkSpeedCalculator)
QLinkI createNetsimLink(final Link link, final QNodeI toQueueNode)
ConfigurableQNetworkFactory(EventsManager events, Scenario scenario)
Optional< TurnAcceptanceLogic > turnAcceptanceLogic
double getEffectiveLaneWidth()
NetsimInternalInterface netsimEngine
void setLinkWidthForVis(double linkWidthCorrectionFactor)
float getLinkWidthForVis()
final void setVehicleHandler(VehicleHandler vehicleHandler)
double getEffectiveCellSize()
Optional< VehicleQ.Factory< QVehicle > > vehicleQFactory
QNodeI createNetsimNode(final Node node)
final void setTurnAcceptanceLogic(TurnAcceptanceLogic turnAcceptanceLogic)
final void setVehicleQFactory(VehicleQ.Factory< QVehicle > factory)
LinkSpeedCalculator linkSpeedCalculator
QSimConfigGroup qsimConfig
NetsimEngineContext context
void initializeFactory(AgentCounter agentCounter, MobsimTimer mobsimTimer, NetsimInternalInterface netsimEngine1)