Interface FundamentalDiagram.FdSource

Enclosing class:
FundamentalDiagram

public static interface FundamentalDiagram.FdSource
Data source for a fundamental diagram.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Method Details

    • getPossibleAggregationPeriods

      default double[] getPossibleAggregationPeriods()
      Returns the possible intervals.
      Returns:
      possible intervals
    • getPossibleUpdateFrequencies

      default int[] getPossibleUpdateFrequencies()
      Returns the possible frequencies, as a factor on 1 / 'aggregation interval'.
      Returns:
      possible frequencies
    • addFundamentalDiagram

      void addFundamentalDiagram(FundamentalDiagram fundamentalDiagram)
      Add fundamental diagram. Used to notify diagrams when data has changed.
      Parameters:
      fundamentalDiagram - fundamental diagram
    • clearFundamentalDiagrams

      void clearFundamentalDiagrams()
      Clears all connected fundamental diagrams.
    • getDiagrams

      Returns the diagrams.
      Returns:
      ImmutableSet<FundamentalDiagram> diagrams
    • getUpdateInterval

      Duration getUpdateInterval()
      The update interval.
      Returns:
      update interval
    • setUpdateInterval

      void setUpdateInterval(Duration interval, Duration time)
      Changes the update interval.
      Parameters:
      interval - update interval
      time - time until which data has to be recalculated
    • getAggregationPeriod

      Duration getAggregationPeriod()
      The aggregation period.
      Returns:
      aggregation period
    • setAggregationPeriod

      void setAggregationPeriod(Duration period)
      Changes the aggregation period.
      Parameters:
      period - aggregation period
    • recalculate

      void recalculate(Duration time)
      Recalculates the data after the aggregation or update time was changed.
      Parameters:
      time - time up to which recalculation is required
    • getDelay

      Duration getDelay()
      Return the delay for graph updates so future influencing events have occurred, e.d. GTU move's.
      Returns:
      graph delay
    • increaseTime

      void increaseTime(Duration time)
      Increase the time span.
      Parameters:
      time - time to increase to
    • getNumberOfSeries

      int getNumberOfSeries()
      Returns the number of series (i.e. lanes or 1 for aggregated).
      Returns:
      number of series
    • getName

      String getName(int series)
      Returns a name of the series.
      Parameters:
      series - series number
      Returns:
      name of the series
    • getItemCount

      int getItemCount(int series)
      Returns the number of items in the series.
      Parameters:
      series - series number
      Returns:
      number of items in the series
    • getFlow

      double getFlow(int series, int item)
      Return the SI flow value of item in series.
      Parameters:
      series - series number
      item - item number in the series
      Returns:
      SI flow value of item in series
    • getDensity

      double getDensity(int series, int item)
      Return the SI density value of item in series.
      Parameters:
      series - series number
      item - item number in the series
      Returns:
      SI density value of item in series
    • getSpeed

      double getSpeed(int series, int item)
      Return the SI speed value of item in series.
      Parameters:
      series - series number
      item - item number in the series
      Returns:
      SI speed value of item in series
    • isAggregate

      boolean isAggregate()
      Returns whether this source aggregates lanes.
      Returns:
      whether this source aggregates lanes
    • setAggregateName

      void setAggregateName(String aggregateName)
      Sets the name of the series when aggregated, e.g. for legend. Default is "Aggregate".
      Parameters:
      aggregateName - name of the series when aggregated