// 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/Error ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../../geometry/projection ./LayerView3D ./TiledLayerView3D ./support/fetchTile ../../layers/LayerView ../../layers/RefreshableLayerView ../../layers/support/MapServiceLayerViewHelper ../../support/drapedUtils".split(" "),function(d,g,e,c,u,v,h,k,l,m,n,p,q,f,r){c=class extends q(m.TiledLayerView3D(l.LayerView3D(p))){constructor(){super(...arguments); this.type="tile-3d";this._popupHighlightHelper=null}get imageFormatIsOpaque(){return"jpg"===this.layer.tileInfo.format}get hasMixedImageFormats(){return"mixed"===this.layer.tileInfo.format}get tileInfo(){return this.layer.tileInfo}initialize(){if("web-tile"===this.layer.type){var a=this.layer.fullExtent?.spatialReference;const b=this.layer.tileInfo?.spatialReference;null!=a&&null!=b&&k.canProjectWithoutEngine(a,b)||(a="defaults"===this.layer.originOf("fullExtent")||null==this.layer.fullExtent?"SceneView requires fullExtent to be specified by the user on WebTileLayer": "SceneView requires fullExtent to be specified in the same spatial reference as tileInfo on WebTileLayer",this.addResolvingPromise(Promise.reject(new g("layerview:incompatible-fullextent",a))))}f.isMapServiceLayerView(this,this.layer)&&(this._popupHighlightHelper=new f.MapServiceLayerViewHelper({createFetchPopupFeaturesQueryGeometry:(b,t)=>r.createQueryGeometry(b,t,this.view),layerView:this,updatingHandles:this._updatingHandles}));this._addTilingSchemeMatchPromise()}destroy(){this._popupHighlightHelper?.destroy()}async fetchTile(a, b){return n.fetchTile(this,a,b)}async fetchPopupFeaturesAtLocation(a,b){return this._popupHighlightHelper?.fetchPopupFeaturesAtLocation(a,b)??[]}async doRefresh(){this.suspended||this.emit("data-changed")}};d.__decorate([e.property()],c.prototype,"imageFormatIsOpaque",null);d.__decorate([e.property()],c.prototype,"hasMixedImageFormats",null);d.__decorate([e.property()],c.prototype,"layer",void 0);d.__decorate([e.property()],c.prototype,"tileInfo",null);return c=d.__decorate([h.subclass("esri.views.3d.layers.TileLayerView3D")], c)});