new SampledProperty(type, derivativeTypes)
A
Property
whose value is interpolated for a given time from the
provided set of samples and specified interpolation algorithm and degree.
Name | Type | Description |
---|---|---|
type |
Number | Packable | The type of property. |
derivativeTypes |
Array.<Packable> | optional When supplied, indicates that samples will contain derivative information of the specified types. |
Examples:
//Create a linearly interpolated Cartesian2
var property = new Cesium.SampledProperty(Cesium.Cartesian2);
//Populate it with data
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:00:00.00Z`), new Cesium.Cartesian2(0, 0));
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-02T00:00:00.00Z`), new Cesium.Cartesian2(4, 7));
//Retrieve an interpolated value
var result = property.getValue(Cesium.JulianDate.fromIso8601(`2012-08-01T12:00:00.00Z`));
//Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation
var property = new Cesium.SampledProperty(Number);
property.setInterpolationOptions({
interpolationDegree : 3,
interpolationAlgorithm : Cesium.HermitePolynomialApproximation
});
//Populate it with data
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:00:00.00Z`), 1.0);
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:01:00.00Z`), 6.0);
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:02:00.00Z`), 12.0);
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:03:30.00Z`), 5.0);
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:06:30.00Z`), 2.0);
//Samples can be added in any order.
property.addSample(Cesium.JulianDate.fromIso8601(`2012-08-01T00:00:30.00Z`), 6.2);
//Retrieve an interpolated value
var result = property.getValue(Cesium.JulianDate.fromIso8601(`2012-08-01T00:02:34.00Z`));
See:
Members
-
backwardExtrapolationDuration :Number
-
Gets or sets the amount of time to extrapolate backward before the property becomes undefined. A value of 0 will extrapolate forever.
-
Default Value:
0
-
backwardExtrapolationType :ExtrapolationType
-
Gets or sets the type of extrapolation to perform when a value is requested at a time before any available samples.
-
Default Value:
ExtrapolationType.NONE
-
readonlydefinitionChanged :Event
-
Gets the event that is raised whenever the definition of this property changes. The definition is considered to have changed if a call to getValue would return a different result for the same time.
-
derivativeTypes :Array.<Packable>
-
Gets the derivative types used by this property.
-
forwardExtrapolationDuration :Number
-
Gets or sets the amount of time to extrapolate forward before the property becomes undefined. A value of 0 will extrapolate forever.
-
Default Value:
0
-
forwardExtrapolationType :ExtrapolationType
-
Gets or sets the type of extrapolation to perform when a value is requested at a time after any available samples.
-
Default Value:
ExtrapolationType.NONE
-
interpolationAlgorithm :InterpolationAlgorithm
-
Gets the interpolation algorithm to use when retrieving a value.
-
Default Value:
LinearApproximation
-
interpolationDegree :Number
-
Gets the degree of interpolation to perform when retrieving a value.
-
Default Value:
1
-
readonlyisConstant :Boolean
-
Gets a value indicating if this property is constant. A property is considered constant if getValue always returns the same result for the current definition.
-
type :Object
-
Gets the type of property.
Methods
-
addSample(time, value, derivatives)
-
Adds a new sample
Name Type Description time
JulianDate The sample time. value
Packable The value at the provided time. derivatives
Array.<Packable> optional The array of derivatives at the provided time. -
addSamples(times, values, derivativeValues)
-
Adds an array of samples
Name Type Description times
Array.<JulianDate> An array of JulianDate instances where each index is a sample time. values
Array.<Packable> The array of values, where each value corresponds to the provided times index. derivativeValues
Array.<Array> optional An array where each item is the array of derivatives at the equivalent time index. Throws:
-
DeveloperError : times and values must be the same length.
-
DeveloperError : times and derivativeValues must be the same length.
-
-
addSamplesPackedArray(packedSamples, epoch)
-
Adds samples as a single packed array where each new sample is represented as a date, followed by the packed representation of the corresponding value and derivatives.
Name Type Description packedSamples
Array.<Number> The array of packed samples. epoch
JulianDate optional If any of the dates in packedSamples are numbers, they are considered an offset from this epoch, in seconds. -
equals(other) → Boolean
-
Compares this property to the provided property and returns
true
if they are equal,false
otherwise.Name Type Description other
Property optional The other property. Returns:
true
if left and right are equal,false
otherwise. -
getValue(time, result) → Object
-
Gets the value of the property at the provided time.
Name Type Description time
JulianDate The time for which to retrieve the value. result
Object optional The object to store the value into, if omitted, a new instance is created and returned. Returns:
The modified result parameter or a new instance if the result parameter was not supplied. -
setInterpolationOptions(options)
-
Sets the algorithm and degree to use when interpolating a value.
Name Type Description options
Object optional Object with the following properties: Name Type Description interpolationAlgorithm
InterpolationAlgorithm optional The new interpolation algorithm. If undefined, the existing property will be unchanged. interpolationDegree
Number optional The new interpolation degree. If undefined, the existing property will be unchanged.