// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("../../../chunks/tslib.es6 ../../../core/Accessor ../../../core/handleUtils ../../../core/has ../../../core/Logger ../../../core/maybe ../../../core/reactiveUtils ../../../core/accessorSupport/decorators/property ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ./AnalysisView3D ./Dimension/DimensionController ./Dimension/DimensionTool ./Dimension/DimensionVisualization ./Dimension/LengthDimensionComputation ./support/projectionUtils ../../analysis/analysisViewUtils ../../analysis/DimensionAnalysisView".split(" "), function(c,b,m,z,n,g,p,d,A,q,r,t,u,v,w,k,h,x){b=class extends x(r.AnalysisView3D(b)){constructor(a){super(a);this.type="dimension-view-3d";this.selectedDimension=this.tool=null;this._dimensionsToComputations=new Map;this._projectAndAlignPoint=this._placementTask=null}initialize(){this._projectAndAlignPoint=e=>{if(null==e)return null;const {spatialReference:f,elevationProvider:y}=this.view,l=k.applyProjectionAndElevationAlignment(e,f,y);null==l&&k.logFailedGeometryProjectionError(this.analysis,e.spatialReference, n.getLogger(this));return l};const a=p.mapCollection(()=>this.analysis.dimensions,e=>this._createComputation(e));this.computations=a;this.addHandles([h.connectAnalysisViewToTool(this,u.DimensionTool),m.destroyHandle(a)]);this._analysisVisualization=new v.DimensionVisualization({analysisViewData:this,view:this.view,isDecoration:!this.parent});this._analysisController=new t.DimensionController({analysisViewData:this,view:this.view})}destroy(){this._placementTask=g.abortMaybe(this._placementTask);this._analysisVisualization= g.destroyMaybe(this._analysisVisualization);h.removeAnalysisViewTool(this)}get updating(){return this._analysisVisualization?.loadingMessages??!1}get results(){return this.analysis.dimensions.map(a=>this._dimensionsToComputations.get(a).result)}get selectedComputation(){const {selectedDimension:a}=this;return null==a?null:this._dimensionsToComputations.get(a)}get testInfo(){}async createLengthDimensions(a){this.selectedDimension=null;this._placementTask=g.abortMaybe(this._placementTask);this._placementTask= h.activateAnalysisViewTool(this,a);return this._placementTask.promise}_createComputation(a){const {_dimensionsToComputations:e}=this,f=new w.LengthDimensionComputation({dimension:a,projectAndAlignPoint:this._projectAndAlignPoint});e.set(a,f);return{computation:f,remove:()=>this._removeComputation(f)}}_removeComputation(a){const {dimension:e}=a;e===this.selectedDimension&&(this.selectedDimension=null);this._dimensionsToComputations.delete(e);a.destroy()}};c.__decorate([d.property({readOnly:!0})],b.prototype, "type",void 0);c.__decorate([d.property()],b.prototype,"tool",void 0);c.__decorate([d.property()],b.prototype,"updating",null);c.__decorate([d.property({readOnly:!0})],b.prototype,"results",null);c.__decorate([d.property()],b.prototype,"computations",void 0);c.__decorate([d.property()],b.prototype,"selectedDimension",void 0);c.__decorate([d.property()],b.prototype,"selectedComputation",null);c.__decorate([d.property()],b.prototype,"_analysisVisualization",void 0);c.__decorate([d.property()],b.prototype, "_analysisController",void 0);c.__decorate([d.property()],b.prototype,"_dimensionsToComputations",void 0);c.__decorate([d.property()],b.prototype,"_placementTask",void 0);return b=c.__decorate([q.subclass("esri.views.3d.analysis.DimensionAnalysisView3D")],b)});