/*
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/vec3f64","../../../../../geometry/support/axisAngle","./MomentumController","../../utils/navigationUtils","../../../camera/constraintUtils/common"],(function(t,o,e,r,n,s,l,c,i,a,u,m,p){"use strict";t.RotationMomentumController=function(t){function e(o){var e;return(e=t.call(this,o)||this).interactionType=p.InteractionType.TUMBLE,e}return o._inheritsLoose(e,t),e.prototype.momentumStep=function(t,o){const e=this.momentum.value(t);m.applyRotation(o,this.center,a.wrapAxisAngle(this.axis,e))},o._createClass(e,[{key:"center",set:function(t){this._set("center",i.clone(t))}},{key:"axis",set:function(t){this._set("axis",i.clone(t))}}]),e}(u.MomentumController),e.__decorate([r.property({constructOnly:!0})],t.RotationMomentumController.prototype,"momentum",void 0),e.__decorate([r.property({constructOnly:!0})],t.RotationMomentumController.prototype,"center",null),e.__decorate([r.property({constructOnly:!0})],t.RotationMomentumController.prototype,"axis",null),t.RotationMomentumController=e.__decorate([c.subclass("esri.views.3d.state.controllers.momentum.MomentumController")],t.RotationMomentumController),Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
