UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 2.22 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{_ as e}from"../../../../../../chunks/tslib.es6.js";import t from"../../../../../../core/Accessor.js";import{equals as r}from"../../../../../../core/arrayUtils.js";import{watch as i,initial as s}from"../../../../../../core/reactiveUtils.js";import{property as o}from"../../../../../../core/accessorSupport/decorators/property.js";import"../../../../../../core/has.js";import"../../../../../../core/Logger.js";import{subclass as n}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{TileKey as l}from"../../../../../../layers/support/TileKey.js";import{distanceToTile as p}from"../../../../../interactive/snapping/featureSources/featureServiceSource/tileUtils.js";let a=class extends t{get _sortedTilesCoveringView(){const e=(this.view.featureTiles?.tiles?.toArray()??[]).map(c),t=this._effectivePointOfInterest;return null!=t&&e.sort(((e,r)=>p(t,e)-p(t,r))),e}get tileInfo(){return this.view.featureTiles?.tilingScheme?.toTileInfo()??null}get tileSize(){return this.view.featureTiles?.tileSize??256}get _effectivePointOfInterest(){const e=this.pointOfInterest;return null!=e?e:this.view.pointsOfInterest?.focus.location}constructor(e){super(e),this.tiles=[],this.pointOfInterest=null}initialize(){this.addHandles([i((()=>this.view.featureTiles),(e=>{this.removeHandles(u),e&&this.addHandles(e.addClient(),u)}),s),i((()=>this._sortedTilesCoveringView),(e=>this._set("tiles",e)),{initial:!0,equals:(e,t)=>r(e,t,((e,t)=>e.id===t.id))})])}};function c({lij:[e,t,r],extent:i}){return new l(`${e}/${t}/${r}`,e,t,r,i)}e([o({readOnly:!0})],a.prototype,"tiles",void 0),e([o({readOnly:!0})],a.prototype,"_sortedTilesCoveringView",null),e([o({readOnly:!0})],a.prototype,"tileInfo",null),e([o({readOnly:!0})],a.prototype,"tileSize",null),e([o({constructOnly:!0})],a.prototype,"view",void 0),e([o()],a.prototype,"pointOfInterest",void 0),e([o()],a.prototype,"_effectivePointOfInterest",null),a=e([n("esri.views.3d.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiles3D")],a);const u="feature-tiles";export{a as FeatureServiceTiles3D};