@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.28 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{eyeWithinExtent as o}from"../camera/intersectionUtils.js";import{applySurfaceCollisionConstraint as a,Mode as i}from"../camera/constraintUtils/surfaceCollision.js";let n=class extends t{constructor(e){super(e)}initialize(){this.addHandles(this.view.basemapTerrain.on("elevation-change",(e=>this._handleElevationChangeEvent(e))))}_handleElevationChangeEvent(e){if(this.view.state.cameraController)return;const t=this.view.state.camera;null!=e.spatialReference&&o(this.view,t,e.extent,e.spatialReference)&&this._applyToCurrentCamera()}_applyToCurrentCamera(){this.view.state.updateCamera((e=>a(this.view,e,i.EYE_AND_CENTER)))}};e([r({constructOnly:!0})],n.prototype,"view",void 0),n=e([s("esri.views.3d.state.SurfaceCollisionConstraint")],n);export{n as SurfaceCollisionConstraint};