Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | 1x 1x 1x 1x 185x 1x 6x 2x 4x 4x 4x 4x 2x 2x 1x 4595x 1x 5526x 1x 3453x 1x 396x 226x 396x 173x 396x | import defined from "../Core/defined.js"; import DeveloperError from "../Core/DeveloperError.js"; /** * The interface for all properties, which represent a value that can optionally vary over time. * This type defines an interface and cannot be instantiated directly. * * @alias Property * @constructor * @abstract * * @see CompositeProperty * @see ConstantProperty * @see SampledProperty * @see TimeIntervalCollectionProperty * @see MaterialProperty * @see PositionProperty * @see ReferenceProperty */ function Property() { DeveloperError.throwInstantiationError(); } Object.defineProperties(Property.prototype, { /** * 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. * @memberof Property.prototype * * @type {boolean} * @readonly */ isConstant: { get: DeveloperError.throwInstantiationError, }, /** * 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. * @memberof Property.prototype * * @type {Event} * @readonly */ definitionChanged: { get: DeveloperError.throwInstantiationError, }, }); /** * Gets the value of the property at the provided time. * @function * * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used. * @param {object} [result] 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. */ Property.prototype.getValue = DeveloperError.throwInstantiationError; /** * Compares this property to the provided property and returns * <code>true</code> if they are equal, <code>false</code> otherwise. * @function * * @param {Property} [other] The other property. * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise. */ Property.prototype.equals = DeveloperError.throwInstantiationError; /** * @private */ Property.equals = function (left, right) { return left === right || (defined(left) && left.equals(right)); }; /** * @private */ Property.arrayEquals = function (left, right) { if (left === right) { return true; } Iif (!defined(left) || !defined(right) || left.length !== right.length) { return false; } const length = left.length; for (let i = 0; i < length; i++) { if (!Property.equals(left[i], right[i])) { return false; } } return true; }; /** * @private */ Property.isConstant = function (property) { return !defined(property) || property.isConstant; }; /** * @private */ Property.getValueOrUndefined = function (property, time, result) { return defined(property) ? property.getValue(time, result) : undefined; }; /** * @private */ Property.getValueOrDefault = function (property, time, valueDefault, result) { return defined(property) ? (property.getValue(time, result) ?? valueDefault) : valueDefault; }; /** * @private */ Property.getValueOrClonedDefault = function ( property, time, valueDefault, result, ) { let value; if (defined(property)) { value = property.getValue(time, result); } if (!defined(value)) { value = valueDefault.clone(value); } return value; }; export default Property; |