/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../chunks/_rollupPluginBabelHelpers","../../../chunks/tslib.es6","../../../core/handleUtils","../../../core/promiseUtils","../../../core/reactiveUtils","../../../core/accessorSupport/decorators/property","../../../core/arrayUtils","../../../core/has","../../../core/accessorSupport/ensureType","../../../core/accessorSupport/decorators/subclass","../../../geometry/support/heightModelInfoUtils"],(function(e,t,r,o,i,s,n,a,l,c,p,u){"use strict";const h=e=>{let a=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).slicePlaneEnabled=!1,t.supportsHeightUnitConversion=!1,t}t._inheritsLoose(r,e);var n=r.prototype;return n.postscript=function(t){e.prototype.postscript.call(this,t),u.supportsHeightModelInfo(this.layer)&&this.addResolvingPromise(this._validateHeightModelInfo())},n._validateHeightModelInfo=function(){var e=t._asyncToGenerator((function*(){const e=new AbortController,t=e.signal;this.handles.add(o.makeHandle((()=>e.abort()))),yield s.whenOnce((()=>{var e;return null==(e=this.view.defaultsFromMap)?void 0:e.heightModelInfoReady}),t),i.throwIfAborted(t);const r=u.rejectLayerError(this.layer,this.view.heightModelInfo,this.supportsHeightUnitConversion);if(r)throw r}));function r(){return e.apply(this,arguments)}return r}(),n.canResume=function(){const t=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return e.prototype.canResume.call(this)&&(!t||!t.minScale||!t.maxScale||t.minScale>=t.maxScale)},n.getSuspendInfo=function(){const t=e.prototype.getSuspendInfo.call(this),r=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return r&&r.minScale&&r.maxScale&&r.minScale<r.maxScale&&(t.outsideScaleRange=!0),t},r}(e);return r.__decorate([n.property()],a.prototype,"view",void 0),r.__decorate([n.property()],a.prototype,"slicePlaneEnabled",void 0),a=r.__decorate([p.subclass("esri.views.3d.layers.LayerView3D")],a),a};e.LayerView3D=h,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
