UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.82 kB
import{_ as e}from"../../../../../chunks/tslib.es6.js";import t from"../../../../../core/Accessor.js";import{watch as r,sync as a}from"../../../../../core/reactiveUtils.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{canProjectWithoutEngine as i}from"../../../../../geometry/projection.js";import{getSphericalPCPF as n,WGS84ECEFSpatialReference as p,SphericalECEFSpatialReference as m}from"../../../../../geometry/spatialReferenceEllipsoidUtils.js";import{MeasurementDataManager as c}from"./MeasurementData.js";import{UnitNormalizer as l}from"../../support/UnitNormalizer.js";let u=class extends t{constructor(e){super(e)}initialize(){const e=this.view.spatialReference,t=n(e),s=t===m?p:t,o=!e||i(e,s)?s:e,u=new l(o);this._measurementDataManager=new c(this.view,u),this.addHandles([this.analysisViewData.path.on("change",(()=>this._update())),r((()=>this.analysisViewData.cursorPoint),(()=>this._update()),a),r((()=>this.analysisViewData.mode),(()=>this._update()),a)]),this._update()}_update(e=!1){const{analysisViewData:t,view:r}=this,a={maxRelativeErrorCoplanar:.005,maxRelativeErrorAlmostCoplanar:.01,verticalAngleThreshold:80};this._measurementDataManager.update(t.path,t.cursorPoint,r,t.validMeasurement,a,t.mode,e)&&(t.measurementData=this._measurementDataManager.getData())}};e([s({constructOnly:!0})],u.prototype,"view",void 0),e([s({constructOnly:!0})],u.prototype,"analysis",void 0),e([s({constructOnly:!0})],u.prototype,"analysisViewData",void 0),u=e([o("esri.views.3d.analysis.AreaMeasurement.support.AreaMeasurementController")],u);export{u as AreaMeasurementController};