Class UpdateExitLinkInflowsConsumer

  • All Implemented Interfaces:
    ApplyToNodeModelResult

    public class UpdateExitLinkInflowsConsumer
    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

      • UpdateExitLinkInflowsConsumer

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

      • consumeCentroidResult

        public void consumeCentroidResult​(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:
        consumeCentroidResult 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
      • consumeRegularResult

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