new TimeInterval(options)
An interval defined by a start and a stop time; optionally including those times as part of the interval.
Arbitrary data can optionally be associated with each instance for used with
TimeIntervalCollection
.
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
Object with the following properties:
|
Examples:
// Create an instance that spans August 1st, 1980 and is associated
// with a Cartesian position.
var timeInterval = new Cesium.TimeInterval({
start : Cesium.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
stop : Cesium.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
isStartTimeIncluded : true,
iSStopTimeIncluded : false,
data : Cesium.Cartesian3.fromDegrees(39.921037, -75.170082)
});
// Create two instances from ISO 8601 intervals with associated numeric data
// then compute their intersection, summing the data they contain.
var left = Cesium.TimeInterval.fromIso8601({
iso8601 : '2000/2010',
data : 2
});
var right = Cesium.TimeInterval.fromIso8601({
iso8601 : '1995/2005',
data : 3
});
//The result of the below intersection will be an interval equivalent to
//var intersection = Cesium.TimeInterval.fromIso8601({
// iso8601 : '2000/2005',
// data : 5
//});
var intersection = new Cesium.TimeInterval();
Cesium.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
return leftData + rightData;
});
// Check if an interval contains a specific time.
var dateToCheck = Cesium.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
var containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck);
Source:
Core/TimeInterval.js, line 71
Members
-
staticconstantTimeInterval.EMPTY :TimeInterval
-
An immutable empty interval.Source: Core/TimeInterval.js, line 396
-
data :Object
-
Gets or sets the data associated with this interval.Source: Core/TimeInterval.js, line 89
-
readonlyisEmpty :Boolean
-
Gets whether or not this interval is empty.Source: Core/TimeInterval.js, line 113
-
isStartIncluded :Boolean
-
Gets or sets whether or not the start time is included in this interval.
-
Default Value:
true
Source: Core/TimeInterval.js, line 96 -
isStopIncluded :Boolean
-
Gets or sets whether or not the stop time is included in this interval.
-
Default Value:
true
Source: Core/TimeInterval.js, line 103 -
start :JulianDate
-
Gets or sets the start time of this interval.Source: Core/TimeInterval.js, line 77
-
stop :JulianDate
-
Gets or sets the stop time of this interval.Source: Core/TimeInterval.js, line 83
Methods
-
staticTimeInterval.clone(timeInterval, result) → TimeInterval
-
Duplicates the provided instance.
Name Type Description timeInterval
TimeInterval optional The instance to clone. result
TimeInterval optional An existing instance to use for the result. Returns:
The modified result parameter or a new instance if none was provided.Source: Core/TimeInterval.js, line 198 -
staticTimeInterval.contains(timeInterval, julianDate) → Boolean
-
Checks if the specified date is inside the provided interval.
Name Type Description timeInterval
TimeInterval The interval. julianDate
JulianDate The date to check. Returns:
true
if the interval contains the specified date,false
otherwise.Source: Core/TimeInterval.js, line 318 -
staticTimeInterval.equals(left, right, dataComparer) → Boolean
-
Compares two instances and returns
true
if they are equal,false
otherwise.Name Type Description left
TimeInterval optional The first instance. right
TimeInterval optional The second instance. dataComparer
TimeInterval~DataComparer optional A function which compares the data of the two intervals. If omitted, reference equality is used. Returns:
true
if the dates are equal; otherwise,false
.Source: Core/TimeInterval.js, line 221 -
staticTimeInterval.equalsEpsilon(left, right, epsilon, dataComparer) → Boolean
-
Compares two instances and returns
true
if they are withinepsilon
seconds of each other. That is, in order for the dates to be considered equal (and for this function to returntrue
), the absolute value of the difference between them, in seconds, must be less thanepsilon
.Name Type Description left
TimeInterval optional The first instance. right
TimeInterval optional The second instance. epsilon
Number The maximum number of seconds that should separate the two instances. dataComparer
TimeInterval~DataComparer optional A function which compares the data of the two intervals. If omitted, reference equality is used. Returns:
true
if the two dates are withinepsilon
seconds of each other; otherwisefalse
.Source: Core/TimeInterval.js, line 244 -
staticTimeInterval.fromIso8601(options, result) → TimeInterval
-
Creates a new instance from an ISO 8601 interval.
Name Type Description options
Object Object with the following properties: Name Type Default Description iso8601
String An ISO 8601 interval. isStartIncluded
Boolean true
optional true
ifoptions.start
is included in the interval,false
otherwise.isStopIncluded
Boolean true
optional true
ifoptions.stop
is included in the interval,false
otherwise.data
Object optional Arbitrary data associated with this interval. result
TimeInterval optional An existing instance to use for the result. Returns:
The modified result parameter or a new instance if none was provided.Source: Core/TimeInterval.js, line 140 -
staticTimeInterval.intersect(left, right, result, mergeCallback) → TimeInterval
-
Computes the intersection of two intervals, optionally merging their data.
Name Type Description left
TimeInterval The first interval. right
TimeInterval optional The second interval. result
TimeInterval An existing instance to use for the result. mergeCallback
TimeInterval~MergeCallback optional A function which merges the data of the two intervals. If omitted, the data from the left interval will be used. Returns:
The modified result parameter.Source: Core/TimeInterval.js, line 270 -
staticTimeInterval.toIso8601(timeInterval, precision) → String
-
Creates an ISO8601 representation of the provided interval.
Name Type Description timeInterval
TimeInterval The interval to be converted. precision
Number optional The number of fractional digits used to represent the seconds component. By default, the most precise representation is used. Returns:
The ISO8601 representation of the provided interval.Source: Core/TimeInterval.js, line 181 -
clone(result) → TimeInterval
-
Duplicates this instance.
Name Type Description result
TimeInterval optional An existing instance to use for the result. Returns:
The modified result parameter or a new instance if none was provided.Source: Core/TimeInterval.js, line 351 -
equals(right, dataComparer) → Boolean
-
Compares this instance against the provided instance componentwise and returns
true
if they are equal,false
otherwise.Name Type Description right
TimeInterval optional The right hand side interval. dataComparer
TimeInterval~DataComparer optional A function which compares the data of the two intervals. If omitted, reference equality is used. Returns:
true
if they are equal,false
otherwise.Source: Core/TimeInterval.js, line 363 -
equalsEpsilon(right, epsilon, dataComparer) → Boolean
-
Compares this instance against the provided instance componentwise and returns
true
if they are within the provided epsilon,false
otherwise.Name Type Description right
TimeInterval optional The right hand side interval. epsilon
Number The epsilon to use for equality testing. dataComparer
TimeInterval~DataComparer optional A function which compares the data of the two intervals. If omitted, reference equality is used. Returns:
true
if they are within the provided epsilon,false
otherwise.Source: Core/TimeInterval.js, line 377 -
toString() → String
-
Creates a string representing this TimeInterval in ISO8601 format.
Returns:
A string representing this TimeInterval in ISO8601 format.Source: Core/TimeInterval.js, line 386
Type Definitions
-
DataComparer(leftData, rightData) → Boolean
-
Function interface for comparing interval data.
Name Type Description leftData
Object The first data instance. rightData
Object The second data instance. Returns:
true
if the provided instances are equal,false
otherwise.Source: Core/TimeInterval.js, line 412 -
MergeCallback(leftData, rightData) → Object
-
Function interface for merging interval data.
Name Type Description leftData
Object The first data instance. rightData
Object The second data instance. Returns:
The result of merging the two data instances.Source: Core/TimeInterval.js, line 403