@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.2 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{create as e,offset as t,copy as s}from"../../../geometry/support/aaBoundingRect.js";import{fromValues as i}from"../webgl-engine/lib/LocalOriginFactory.js";class n{constructor(){this._extent=e(),this.resolution=0,this.renderLocalOrigin=i(0,0,0,"O"),this.pixelRatio=1,this.mapUnitsPerPixel=1,this.canvasGeometries=new r}get extent(){return this._extent}setupGeometryViews(e){if(this._setupGeometryView(),!e)return;const s=.001*e.range;if(this._extent[0]-s<=e.min){const s=this.canvasGeometries.extents[this.canvasGeometries.numViews++];t(this._extent,e.range,0,s)}if(this._extent[2]+s>=e.max){const s=this.canvasGeometries.extents[this.canvasGeometries.numViews++];t(this._extent,-e.range,0,s)}}_setupGeometryView(){this.canvasGeometries.numViews=1,s(this.canvasGeometries.extents[0],this._extent)}hasSomeSizedView(){for(let e=0;e<this.canvasGeometries.numViews;e++){const t=this.canvasGeometries.extents[e];if(t[0]!==t[2]&&t[1]!==t[3])return!0}return!1}}class r{constructor(){this.extents=[e(),e(),e()],this.numViews=0}}export{n as Overlay};