34935-vm/assets/cesium/packages/engine/Source/DataSources/heightReferenceOnEntityPropertyChanged.js
Flatlogic Bot 055d24df95 WORKING
2025-10-14 02:37:44 +00:00

48 lines
1.2 KiB
JavaScript

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;