UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.46 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 t}from"../../../../chunks/tslib.es6.js";import e from"../../../../Viewpoint.js";import o from"../../../../core/Accessor.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{set as s,copy as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import a from"../../../../geometry/Point.js";import{getAnchor as c,rotateBy as m,angleBetween as v}from"../../viewpointUtils.js";const d=p(),g=p();let f=class extends o{constructor(t){super(t),this._previousCenter=p(),this.viewpoint=new e({targetGeometry:new a,scale:0,rotation:0})}begin(t,e){this.navigation.begin(),s(this._previousCenter,e.center.x,e.center.y)}update(t,e){const{state:{size:o,padding:r}}=t;s(d,e.center.x,e.center.y),c(g,o,r),t.viewpoint=m(this.viewpoint,t.state.paddedViewState.viewpoint,v(g,this._previousCenter,d)),n(this._previousCenter,d)}end(){this.navigation.end()}};t([r()],f.prototype,"viewpoint",void 0),t([r()],f.prototype,"navigation",void 0),f=t([i("esri.views.2d.navigation.actions.Rotate")],f);export{f as default};