| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /**
- * PolylineFence Material Property
- * @Author : Converted from fh2
- */
-
- import { Cesium } from '../../../../libs'
- import MaterialProperty from '../../MaterialProperty'
-
- class PolylineFenceMaterialProperty extends MaterialProperty {
- constructor(options = {}) {
- super(options)
- this.color = options.color || Cesium.Color.WHITE
- this._outlineColor = undefined
- this._outlineColorSubscription = undefined
- this.outlineColor = options.outlineColor || new Cesium.Color(1, 1, 1, 0)
- this._outlineWidth = undefined
- this._outlineWidthSubscription = undefined
- this.outlineWidth = options.outlineWidth ?? 10
- this._maskLength = undefined
- this._maskLengthSubscription = undefined
- this.maskLength = options.maskLength ?? 20
- }
-
- getType(time) {
- return Cesium.Material.PolylineFenceType
- }
-
- getValue(time, result) {
- if (!result) {
- result = {}
- }
- result.color = Cesium.Property.getValueOrUndefined(this._color, time)
- result.outlineColor = Cesium.Property.getValueOrUndefined(this._outlineColor, time)
- result.outlineWidth = Cesium.Property.getValueOrUndefined(this._outlineWidth, time)
- result.maskLength = Cesium.Property.getValueOrUndefined(this._maskLength, time)
- return result
- }
-
- equals(other) {
- return (
- this === other ||
- (other instanceof PolylineFenceMaterialProperty &&
- Cesium.Property.equals(this._color, other._color) &&
- Cesium.Property.equals(this._outlineColor, other._outlineColor) &&
- Cesium.Property.equals(this._outlineWidth, other._outlineWidth) &&
- Cesium.Property.equals(this._maskLength, other._maskLength))
- )
- }
- }
-
- Object.defineProperties(PolylineFenceMaterialProperty.prototype, {
- color: Cesium.createPropertyDescriptor('color'),
- outlineColor: Cesium.createPropertyDescriptor('outlineColor'),
- outlineWidth: Cesium.createPropertyDescriptor('outlineWidth'),
- maskLength: Cesium.createPropertyDescriptor('maskLength'),
- })
-
- export default PolylineFenceMaterialProperty
|