/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Logger.js";import{isNone as t,isSome as o}from"../../core/maybe.js";import{whenOnce as i}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import"../../core/accessorSupport/interfaces.js";import"../../core/accessorSupport/tracking.js";import"../../core/accessorSupport/extensions/serializableProperty/reader.js";import"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{project as s,canProjectWithoutEngine as l,isLoaded as a,load as m}from"../../geometry/projection.js";import p from"./LayerView.js";const c=r.getLogger("esri.views.layers.SceneLayerView");class g extends p{constructor(){super(...arguments),this.layer=null,this.filter=null,this._geometryEngine=null,this._projectionEngineLoaded=!1}get availableFields(){return[]}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){throw new Error("Not implemented")}get maximumNumberOfFeaturesExceeded(){return!1}get layerFilter(){const e=this.layer.filter;if(t(e)||e.geometries.length<1)return null;const r=this._geometryEngine;if(t(r)||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine)return null;try{let t=r.simplify(e.geometries.getItemAt(0));const o=t.spatialReference;for(let i=1;i!e.equals(r)&&!l(e,r)))}get layerFilterUpdating(){return o(this.layer.filter)&&this.layer.filter.geometries.length&&(!this._geometryEngine||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine)}initialize(){i((()=>!this._geometryEngine&&o(this.layer.filter)&&this.layer.filter.geometries.length)).then((async()=>this._geometryEngine=await import("../../geometry/geometryEngine.js"))),this._projectionEngineLoaded=a(),i((()=>!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine)).then((async()=>{await m(),this._projectionEngineLoaded=!0}))}highlight(e){throw new Error("Not implemented")}queryFeatures(e,r){throw new Error("Not implemented")}queryObjectIds(e,r){throw new Error("Not implemented")}queryFeatureCount(e,r){throw new Error("Not implemented")}createQuery(){throw new Error("Not implemented")}queryExtent(e,r){throw new Error("Not implemented")}}e([n()],g.prototype,"layer",void 0),e([n()],g.prototype,"availableFields",null),e([n()],g.prototype,"maximumNumberOfFeatures",null),e([n({readOnly:!0})],g.prototype,"maximumNumberOfFeaturesExceeded",null),e([n()],g.prototype,"filter",void 0),e([n({readOnly:!0})],g.prototype,"layerFilter",null),e([n()],g.prototype,"_geometryEngine",void 0),e([n()],g.prototype,"_projectionEngineLoaded",void 0),e([n()],g.prototype,"_filterNeedsProjectionEngine",null),e([n()],g.prototype,"layerFilterUpdating",null);export{g as default};