UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 2.99 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 t}from"../../../chunks/tslib.es6.js";import i from"../../../core/Accessor.js";import s from"../../../core/Collection.js";import o from"../../../core/Evented.js";import"../../../core/has.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{AnalysisView3D as l}from"./AnalysisView3D.js";import{LineOfSightController as p}from"./LineOfSight/LineOfSightController.js";import{LineOfSightTool as y}from"./LineOfSight/LineOfSightTool.js";import{LineOfSightVisualization as u}from"./LineOfSight/LineOfSightVisualization.js";import{connectAnalysisViewToTool as h,removeAnalysisViewTool as c}from"../../analysis/analysisViewUtils.js";let m=class extends(l(o.EventedMixin(i))){constructor(t){super(t),this.type="line-of-sight-view-3d",this.analysis=null,this.tool=null,this.computations=new s,this.elevationAlignedObserver=null,this.observerEngineLocation=n(),this.cursorTarget=null,this.editable=!0}initialize(){const t=this.view,i=this.analysis;this._analysisController=new p({analysis:i,analysisViewData:this,view:t}),this._analysisVisualization=new u({analysis:i,analysisViewData:this,view:t,isDecoration:!this.parent}),this.addHandles([this._analysisController.on("result-changed",(t=>{t.target!==this.cursorTarget&&this.emit("result-changed",t)})),h(this,y)])}destroy(){c(this),this._analysisController=r(this._analysisController),this._analysisVisualization=r(this._analysisVisualization)}get results(){return this.computations.map((t=>t.result))}get priority(){return this._analysisController.priority}set priority(t){this._analysisController.priority=t}get updating(){return null!=this._analysisController&&this._analysisController.updating||null!=this._analysisVisualization&&this._analysisVisualization.updating}getResultForTarget(t){return this.computations.find((i=>i.target===t))?.result}get testInfo(){}};t([e({readOnly:!0})],m.prototype,"type",void 0),t([e({constructOnly:!0,nonNullable:!0})],m.prototype,"analysis",void 0),t([e()],m.prototype,"tool",void 0),t([e({readOnly:!0})],m.prototype,"results",null),t([e()],m.prototype,"priority",null),t([e()],m.prototype,"computations",void 0),t([e()],m.prototype,"elevationAlignedObserver",void 0),t([e()],m.prototype,"observerEngineLocation",void 0),t([e()],m.prototype,"cursorTarget",void 0),t([e()],m.prototype,"updating",null),t([e()],m.prototype,"editable",void 0),t([e()],m.prototype,"_analysisController",void 0),t([e()],m.prototype,"_analysisVisualization",void 0),m=t([a("esri.views.3d.analysis.LineOfSightAnalysisView3D")],m);const d=m;export{d as default};