SampledProperty

external class SampledProperty(type: Double, var derivativeTypes: ReadonlyArray<Packable<*>> = definedExternally)(source)

A Property whose value is interpolated for a given time from the provided set of samples and specified interpolation algorithm and degree.

//Create a linearly interpolated Cartesian2
const property = new SampledProperty(Cartesian2);

//Populate it with data
property.addSample(JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new Cartesian2(0, 0));
property.addSample(JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new Cartesian2(4, 7));

//Retrieve an interpolated value
const result = property.getValue(JulianDate.fromIso8601('2012-08-01T12:00:00.00Z'));
//Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation
const property = new SampledProperty(Number);
property.setInterpolationOptions({
interpolationDegree : 3,
interpolationAlgorithm : HermitePolynomialApproximation
});

//Populate it with data
property.addSample(JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0);
property.addSample(JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0);
property.addSample(JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0);
property.addSample(JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0);
property.addSample(JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0);

//Samples can be added in any order.
property.addSample(JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2);

//Retrieve an interpolated value
const result = property.getValue(JulianDate.fromIso8601('2012-08-01T00:02:34.00Z'));

Parameters

type

The type of property.

See also

Constructors

Link copied to clipboard
constructor(type: Packable<*>, derivativeTypes: ReadonlyArray<Packable<*>>? = definedExternally)
constructor(type: Double, derivativeTypes: ReadonlyArray<Packable<*>> = definedExternally)

Types

Properties

Link copied to clipboard

Gets or sets the amount of time to extrapolate backward before the property becomes undefined. A value of 0 will extrapolate forever.

Link copied to clipboard

Gets or sets the type of extrapolation to perform when a value is requested at a time before any available samples.

Link copied to clipboard

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.

Link copied to clipboard

When supplied, indicates that samples will contain derivative information of the specified types.

Link copied to clipboard

Gets or sets the amount of time to extrapolate forward before the property becomes undefined. A value of 0 will extrapolate forever.

Link copied to clipboard

Gets or sets the type of extrapolation to perform when a value is requested at a time after any available samples.

Link copied to clipboard

Gets the interpolation algorithm to use when retrieving a value.

Link copied to clipboard

Gets the degree of interpolation to perform when retrieving a value.

Link copied to clipboard

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.

Link copied to clipboard
var type: Any

Gets the type of property.

Functions

Link copied to clipboard
fun addSample(time: JulianDate, value: Packable<*>, derivatives: ReadonlyArray<Packable<*>>? = definedExternally)

Adds a new sample.

Link copied to clipboard
fun addSamples(times: ReadonlyArray<JulianDate>, values: ReadonlyArray<Packable<*>>, derivativeValues: ReadonlyArray<ReadonlyArray<Any>>? = definedExternally)

Adds an array of samples.

Link copied to clipboard
fun addSamplesPackedArray(packedSamples: ReadonlyArray<Double>, epoch: JulianDate? = definedExternally)

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.

Link copied to clipboard
fun getSample(index: Int): JulianDate?

Retrieves the time of the provided sample associated with the index. A negative index accesses the list of samples in reverse order.

Link copied to clipboard
fun getValue(time: JulianDate? = definedExternally, result: Any? = definedExternally): Any

Gets the value of the property at the provided time.

Link copied to clipboard

Removes a sample at the given time, if present.

Link copied to clipboard

Removes all samples for the given time interval.

Link copied to clipboard

Sets the algorithm and degree to use when interpolating a value.