/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../../chunks/_rollupPluginBabelHelpers","../../../../../chunks/tslib.es6","../../../../../core/accessorSupport/decorators/property","../../../../../core/arrayUtils","../../../../../core/has","../../../../../core/accessorSupport/ensureType","../../../../../core/accessorSupport/decorators/subclass","../../../../../chunks/vec3","../../../../../chunks/vec3f64","./MomentumController","../../../camera/constraintUtils/common"],(function(t,e,o,r,n,s,a,c,l,i,u,m){"use strict";t.PanPlanarMomentumController=function(t){function o(e){var o;return(o=t.call(this,e)||this).interactionType=m.InteractionType.PAN,o.tmpPan=i.create(),o}return e._inheritsLoose(o,t),o.prototype.momentumStep=function(t,e){const o=this.momentum.value(t);l.scale(this.tmpPan,this.momentum.direction,o),e.eye=l.subtract(p,e.eye,this.tmpPan),e.center=l.subtract(p,e.center,this.tmpPan),this.constraintOptions.interactionDirection=this.tmpPan},o}(u.MomentumController),o.__decorate([r.property({constructOnly:!0})],t.PanPlanarMomentumController.prototype,"momentum",void 0),t.PanPlanarMomentumController=o.__decorate([c.subclass("esri.views.3d.state.controllers.momentum.PanPlanarMomentumController")],t.PanPlanarMomentumController);const p=i.create();Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
