/** * 流动纹理线 * @param {*} color 颜色 * @param {*} duration duration 持续时间 毫秒 */ function EllipsoidFadeMaterialProperty(color: string, duration: number) { this._definitionChanged = new Cesium.Event(); this._color = undefined; this._colorSubscription = undefined; this.color = color; this.duration = duration; this._time = new Date().getTime(); } Object.defineProperties(EllipsoidFadeMaterialProperty.prototype, { isConstant: { get: function () { return false; } }, definitionChanged: { get: function () { return this._definitionChanged; } }, color: Cesium.createPropertyDescriptor('color') }); EllipsoidFadeMaterialProperty.prototype.getType = function (time: number) { return 'EllipsoidFade'; }; EllipsoidFadeMaterialProperty.prototype.getValue = function ( time: number, result: any ) { if (!Cesium.defined(result)) { result = {}; } result.color = Cesium.Property.getValueOrClonedDefault( this._color, time, Cesium.Color.WHITE, result.color ); result.time = ((new Date().getTime() - this._time) % this.duration) / this.duration; return result; }; interface Other_tmp { _color: any; } EllipsoidFadeMaterialProperty.prototype.equals = function (other: Other_tmp) { const reData = this === other || (other instanceof EllipsoidFadeMaterialProperty && Cesium.Property.equals(this._color, other._color)); return reData; }; Cesium.EllipsoidFadeMaterialProperty = EllipsoidFadeMaterialProperty;
时间: 2024-04-06 20:31:57 浏览: 114
这是一段 TypeScript 代码,它定义了一个名为 EllipsoidFadeMaterialProperty 的类。这个类代表了一个流动纹理线的材质属性,它包含了颜色和持续时间两个属性。这个类实现了 Cesium 的 MaterialProperty 接口,其中包含了 getType 和 getValue 方法,用于获取材质类型和材质属性值。另外,这个类还实现了 equals 方法,用于判断两个 EllipsoidFadeMaterialProperty 实例是否相等。
阅读全文