| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /**
- * @Author: Caven
- * @Date: 2020-03-06 17:56:39
- */
-
- import { Cesium } from '@dc-modules/namespace'
- import MaterialProperty from '../../MaterialProperty'
-
- class CircleWaveMaterialProperty extends MaterialProperty {
- constructor(options = {}) {
- super(options)
- this.count = Math.max(options.count || 3, 1)
- this.gradient = Cesium.Math.clamp(options.gradient || 0.1, 0, 1)
- }
-
- get isConstant() {
- return false
- }
-
- get definitionChanged() {
- return this._definitionChanged
- }
-
- getType(time) {
- return Cesium.Material.CircleWaveType
- }
-
- getValue(time, result) {
- if (!result) {
- result = {}
- }
- result.color = Cesium.Property.getValueOrUndefined(this._color, time)
- result.speed = this._speed
- result.count = this.count
- result.gradient = this.gradient
- return result
- }
-
- equals(other) {
- return (
- this === other ||
- (other instanceof CircleWaveMaterialProperty &&
- Cesium.Property.equals(this._color, other._color) &&
- Cesium.Property.equals(this._speed, other._speed))
- )
- }
- }
-
- Object.defineProperties(CircleWaveMaterialProperty.prototype, {
- color: Cesium.createPropertyDescriptor('color'),
- speed: Cesium.createPropertyDescriptor('speed')
- })
-
- export default CircleWaveMaterialProperty
|