mirror of https://github.com/CesiumGS/cesium.git
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
import DeveloperError from "./DeveloperError.js";
|
|
|
|
/**
|
|
* Static interface for types which can store their values as packed
|
|
* elements in an array. These methods and properties are expected to be
|
|
* defined on a constructor function.
|
|
*
|
|
* @interface Packable
|
|
*
|
|
* @see PackableForInterpolation
|
|
*/
|
|
const Packable = {
|
|
/**
|
|
* The number of elements used to pack the object into an array.
|
|
* @type {number}
|
|
*/
|
|
packedLength: undefined,
|
|
|
|
/**
|
|
* Stores the provided instance into the provided array.
|
|
* @function
|
|
*
|
|
* @param {*} value The value to pack.
|
|
* @param {number[]} array The array to pack into.
|
|
* @param {number} [startingIndex=0] The index into the array at which to start packing the elements.
|
|
*/
|
|
pack: DeveloperError.throwInstantiationError,
|
|
|
|
/**
|
|
* Retrieves an instance from a packed array.
|
|
* @function
|
|
*
|
|
* @param {number[]} array The packed array.
|
|
* @param {number} [startingIndex=0] The starting index of the element to be unpacked.
|
|
* @param {object} [result] The object into which to store the result.
|
|
* @returns {object} The modified result parameter or a new Object instance if one was not provided.
|
|
*/
|
|
unpack: DeveloperError.throwInstantiationError,
|
|
};
|
|
export default Packable;
|