@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.17 kB
JavaScript
import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../core/Accessor.js";import{isSome as t}from"../../../core/maybe.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{eyeWithinExtent as a}from"../camera/intersectionUtils.js";import{applySurfaceCollisionConstraint as i,Mode as n}from"../camera/constraintUtils/surfaceCollision.js";let c=class extends r{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 r=this.view.state.camera;t(e.spatialReference)&&a(this.view,r,e.extent,e.spatialReference)&&this._applyToCurrentCamera()}_applyToCurrentCamera(){this.view.state.updateCamera((e=>i(this.view,e,n.EYE_AND_CENTER)))}};e([s({constructOnly:!0})],c.prototype,"view",void 0),c=e([o("esri.views.3d.state.ElevationCollisionConstraint")],c);export{c as SurfaceCollisionConstraint};