Package org.opentrafficsim.draw.graphs
Interface FundamentalDiagram.FdSource
- All Known Implementing Classes:
FundamentalDiagram.AbstractFdSource
- Enclosing class:
- FundamentalDiagram
public static interface FundamentalDiagram.FdSource
Data source for a fundamental diagram.
Copyright (c) 2013-2023 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 Summary
Modifier and TypeMethodDescriptionvoidaddFundamentalDiagram(FundamentalDiagram fundamentalDiagram) Add fundamental diagram.voidClears all connected fundamental diagrams.The aggregation period.getDelay()Return the delay for graph updates so future influencing events have occurred, e.d.doublegetDensity(int series, int item) Return the SI density value of item in series.org.djutils.immutablecollections.ImmutableSet<FundamentalDiagram>Returns the diagrams.doublegetFlow(int series, int item) Return the SI flow value of item in series.intgetItemCount(int series) Returns the number of items in the series.getName(int series) Returns a name of the series.intReturns the number of series (i.e.default double[]Returns the possible intervals.default int[]Returns the possible frequencies, as a factor on 1 / 'aggregation interval'.doublegetSpeed(int series, int item) Return the SI speed value of item in series.The update interval.voidincreaseTime(Time time) Increase the time span.booleanReturns whether this source aggregates lanes.voidrecalculate(Time time) Recalculates the data after the aggregation or update time was changed.voidsetAggregateName(String aggregateName) Sets the name of the series when aggregated, e.g.voidsetAggregationPeriod(Duration period) Changes the aggregation period.voidsetUpdateInterval(Duration interval, Time time) Changes the update interval.
-
Method Details
-
getPossibleAggregationPeriods
default double[] getPossibleAggregationPeriods()Returns the possible intervals.- Returns:
- double[]; possible intervals
-
getPossibleUpdateFrequencies
default int[] getPossibleUpdateFrequencies()Returns the possible frequencies, as a factor on 1 / 'aggregation interval'.- Returns:
- int[]; possible frequencies
-
addFundamentalDiagram
Add fundamental diagram. Used to notify diagrams when data has changed.- Parameters:
fundamentalDiagram- FundamentalDiagram; fundamental diagram
-
clearFundamentalDiagrams
void clearFundamentalDiagrams()Clears all connected fundamental diagrams. -
getDiagrams
org.djutils.immutablecollections.ImmutableSet<FundamentalDiagram> getDiagrams()Returns the diagrams.- Returns:
- ImmutableSet<FundamentalDiagram> diagrams
-
getUpdateInterval
Duration getUpdateInterval()The update interval.- Returns:
- Duration; update interval
-
setUpdateInterval
Changes the update interval.- Parameters:
interval- Duration; update intervaltime- Time; time until which data has to be recalculated
-
getAggregationPeriod
Duration getAggregationPeriod()The aggregation period.- Returns:
- Duration; aggregation period
-
setAggregationPeriod
Changes the aggregation period.- Parameters:
period- Duration; aggregation period
-
recalculate
Recalculates the data after the aggregation or update time was changed.- Parameters:
time- 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:
- Duration; graph delay
-
increaseTime
Increase the time span.- Parameters:
time- Time; time to increase to
-
getNumberOfSeries
int getNumberOfSeries()Returns the number of series (i.e. lanes or 1 for aggregated).- Returns:
- int; number of series
-
getName
Returns a name of the series.- Parameters:
series- int; series number- Returns:
- String; name of the series
-
getItemCount
int getItemCount(int series) Returns the number of items in the series.- Parameters:
series- int; series number- Returns:
- int; number of items in the series
-
getFlow
double getFlow(int series, int item) Return the SI flow value of item in series.- Parameters:
series- int; series numberitem- int; item number in the series- Returns:
- double; 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- int; series numberitem- int; item number in the series- Returns:
- double; 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- int; series numberitem- int; item number in the series- Returns:
- double; SI speed value of item in series
-
isAggregate
boolean isAggregate()Returns whether this source aggregates lanes.- Returns:
- boolean; whether this source aggregates lanes
-
setAggregateName
Sets the name of the series when aggregated, e.g. for legend. Default is "Aggregate".- Parameters:
aggregateName- String; name of the series when aggregated
-