UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.11 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import"../../../core/has.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import{defaultUnitPropertyMetadata as i}from"../../../properties/defaultUnit.js";import{AnalysisView3D as o}from"./AnalysisView3D.js";import{MeasurementMode as n}from"./interfaces.js";import{AreaMeasurementController as l}from"./AreaMeasurement/support/AreaMeasurementController.js";import{AreaMeasurement3DPathHelper as u}from"./AreaMeasurement/support/AreaMeasurementPathHelper.js";import{AreaMeasurementVisualization as p}from"./AreaMeasurement/support/AreaMeasurementVisualization.js";import{toPreferredAreaUnit as m,toPreferredLengthUnit as y}from"./AreaMeasurement/support/utils.js";let d=class extends(o(t)){constructor(e){super(e),this.type="area-measurement-view-3d",this.analysis=null,this.measurementData=null,this.lastDraggedVertex=null,this.stagedPoint=null,this.mode=n.Auto}initialize(){const{analysis:e,view:t}=this;this.path=new u({view:t,areaMeasurement:e}),this.analysisVisualization=new p({view:t,analysis:e,analysisViewData:this}),this.analysisController=new l({view:t,analysis:e,analysisViewData:this})}destroy(){this.analysisController=s(this.analysisController),this.analysisVisualization=s(this.analysisVisualization),this.path.destroy()}get updating(){return!!this.analysisVisualization?.loadingMessages}get result(){const{measurementData:e}=this;if(null==e)return{area:null,mode:null,perimeter:null};const{unit:t}=this;if("euclidean"===e.actualMeasurementMode){const{area:s,perimeterLength:a}=e;return{area:null!=s?m(s,t):null,perimeter:null!=a?y(a,t):null,mode:"euclidean"}}const{geodesicArea:s,pathLength:a}=e;return{area:null!=s?m(s,t):null,perimeter:null!=a?y(a,t):null,mode:"geodesic"}}get viewData(){return this.analysisVisualization.viewData}get validMeasurement(){return this.path.isValidPolygon}get unit(){return this.analysis.unit??this._defaultUnit}get testData(){}};e([a({readOnly:!0})],d.prototype,"type",void 0),e([a({constructOnly:!0,nonNullable:!0})],d.prototype,"analysis",void 0),e([a()],d.prototype,"updating",null),e([a()],d.prototype,"analysisVisualization",void 0),e([a()],d.prototype,"analysisController",void 0),e([a()],d.prototype,"result",null),e([a()],d.prototype,"measurementData",void 0),e([a()],d.prototype,"viewData",null),e([a()],d.prototype,"validMeasurement",null),e([a()],d.prototype,"path",void 0),e([a()],d.prototype,"lastDraggedVertex",void 0),e([a()],d.prototype,"stagedPoint",void 0),e([a()],d.prototype,"mode",void 0),e([a()],d.prototype,"unit",null),e([a(i)],d.prototype,"_defaultUnit",void 0),d=e([r("esri.views.3d.analysis.AreaMeasurementAnalysisView3D")],d);const c=d;export{c as default};