1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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;
- }
- const geometry = this._entity[this._geometryPropertyName];
- if (!defined(geometry)) {
- return;
- }
- if (defined(this._terrainOffsetProperty)) {
- this._terrainOffsetProperty.destroy();
- this._terrainOffsetProperty = undefined;
- }
- const heightReferenceProperty = geometry.heightReference;
- if (defined(heightReferenceProperty)) {
- const centerPosition = new CallbackProperty(
- this._computeCenter.bind(this),
- !this._dynamic
- );
- this._terrainOffsetProperty = new TerrainOffsetProperty(
- this._scene,
- centerPosition,
- heightReferenceProperty
- );
- }
- }
- export default heightReferenceOnEntityPropertyChanged;
|