@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.51 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{set as t,multiply as s}from"../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{set as i,multiply as e,invert as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{i as m,q as n}from"../../../../chunks/vec32.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{tileSize as c}from"./definitions.js";import{TiledDisplayObject as h}from"./TiledDisplayObject.js";const f=a(),p=l();class d extends h{constructor(t,s,r,i){super(t,s,r,i,c,c)}destroy(){super.destroy()}setTransform(o){const a=this.resolution/o.resolution,m=this.transforms.tileMat3,[n,l]=o.toScreenNoRotation([0,0],[this.x,this.y]),c=this.width/this.rangeX*a,h=this.height/this.rangeY*a;i(m,c,0,0,0,h,0,n,l,1),e(this.transforms.displayViewScreenMat3,o.displayViewMat3,m);const f=t(r(),c,0,0,h,n,l);s(this.transforms.labelMat2d,o.viewMat2d,f)}_createTransforms(){return{labelMat2d:r(),tileMat3:a(),displayViewScreenMat3:a()}}containsScreenPoint(t,s,r){const i=e(f,t.viewMat3,this.transforms.tileMat3),a=o(f,i);if(null==a)return!0;m(p,...s,1);const l=n(p,p,a),c=r*(this.resolution/t.resolution);return l[0]>=-c&&l[0]<this.width+c&&l[1]>=-c&&l[1]<this.height+c}}export{d as AFeatureTile};