赣州市洪水风险预警系统三维版本
guoshilong
2023-02-27 4d8c6dd77427e8e581fda17b6b65ba86bfb7a815
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
import defined from '../Core/defined.js';
import CallbackProperty from './CallbackProperty.js';
import GeometryUpdater from './GeometryUpdater.js';
import TerrainOffsetProperty from './TerrainOffsetProperty.js';
 
    function heightReferenceOnEntityPropertyChanged(entity, propertyName, newValue, oldValue) {
        GeometryUpdater.prototype._onEntityPropertyChanged.call(this, entity, propertyName, newValue, oldValue);
        if (this._observedPropertyNames.indexOf(propertyName) === -1) {
            return;
        }
 
        var geometry = this._entity[this._geometryPropertyName];
        if (!defined(geometry)) {
            return;
        }
 
        if (defined(this._terrainOffsetProperty)) {
            this._terrainOffsetProperty.destroy();
            this._terrainOffsetProperty = undefined;
        }
 
        var heightReferenceProperty = geometry.heightReference;
 
        if (defined(heightReferenceProperty)) {
            var centerPosition = new CallbackProperty(this._computeCenter.bind(this), !this._dynamic);
            this._terrainOffsetProperty = new TerrainOffsetProperty(this._scene, centerPosition, heightReferenceProperty);
        }
    }
export default heightReferenceOnEntityPropertyChanged;