@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 1.18 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as t}from"tslib";import e from"../../../../Viewpoint.js";import i from"../../../../core/Accessor.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.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(),f=p();let g=class extends i{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:i,padding:o}}=t;s(d,e.center.x,e.center.y),c(f,i,o),t.viewpoint=m(this.viewpoint,t.state.paddedViewState.viewpoint,v(f,this._previousCenter,d)),n(this._previousCenter,d)}end(){this.navigation.end()}};t([o()],g.prototype,"viewpoint",void 0),t([o()],g.prototype,"navigation",void 0),g=t([r("esri.views.2d.navigation.actions.Rotate")],g);export{g as default};