new SampledProperty
A Property whose value is interpolated for a given time from the provided set of samples and specified interpolation algorithm and degree.
Parameters:
Name | Type | Description |
---|---|---|
type |
Number | Object | The type of property, which must be a Number or implement Packable. |
Examples
//Create a linearly interpolated Cartesian2 var property = new Cesium.SampledProperty(Cesium.Cartesian2); property.interpolationDegree = 1; property.interpolationAlgorithm = LinearApproximation; //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`));
Members
-
definitionChanged :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.
-
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
-
isConstant :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
-
Adds a new sample
Parameters:
Name Type Description time
JulianDate The sample time. value
Object The value at the provided time. -
addSamples
-
Adds an array of samples
Parameters:
Name Type Description times
Array An array of JulianDate instances where each index is a sample time. values
Array The array of values, where each value corresponds to the provided times index. Throws:
DeveloperError : times and values must be the same length.. -
addSamplesPackedArray
-
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.
Parameters:
Name Type Argument Description packedSamples
Array 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
-
Compares this property to the provided property and returns
true
if they are equal,false
otherwise.Parameters:
Name Type Argument Description other
Property <optional>
The other property. Returns:
Booleantrue
if left and right are equal,false
otherwise. -
getValue
-
Gets the value of the property at the provided time.
Parameters:
Name Type Argument 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:
Object The modified result parameter or a new instance if the result parameter was not supplied. -
setInterpolationOptions
-
Sets the algorithm and degree to use when interpolating a value.
Parameters:
Name Type Description options
Object The options Properties
Name Type Argument 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.