Class NMRUpdateExitLinkInflowsConsumer

  • All Implemented Interfaces:
    ApplyToNodeModelResult

    public class NMRUpdateExitLinkInflowsConsumer
    extends Object
    implements ApplyToNodeModelResult
    A functional class that consumes the result of a node model update in order to update the inflows of all the outgoing links of the nodes it is applied to *
    Author:
    markr
    • Constructor Detail

      • NMRUpdateExitLinkInflowsConsumer

        public NMRUpdateExitLinkInflowsConsumer​(double[] inFlowsToUpdate)
        Constructor
        Parameters:
        inFlowsToUpdate - to use
    • Method Detail

      • acceptNonBlockingLinkBasedResult

        public void acceptNonBlockingLinkBasedResult​(DirectedVertex node,
                                                     double[] sendingFlows)
        A centroid node is a special node where all flow is always accepted (destination incoming links), or sending flows do not come from turns but from origin zone (origin exit links). As such we present only the original link segment sending flows
        Specified by:
        acceptNonBlockingLinkBasedResult in interface ApplyToNodeModelResult
        Parameters:
        node - to use
        sendingFlows - to use. Note that these are the network wide sending flows by link segment id, not localised for the node
      • acceptTurnBasedResult

        public void acceptTurnBasedResult​(DirectedVertex node,
                                          org.ojalgo.array.Array1D<Double> flowAcceptanceFactors,
                                          NodeModel nodeModel)
        Result of a node model update
        Specified by:
        acceptTurnBasedResult in interface ApplyToNodeModelResult
        Parameters:
        node - to use
        flowAcceptanceFactors - resulting from the update, localised for the node based on its entry segment iterator order
        nodeModel - that was applied