/*
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/Logger","../../../../core/accessorSupport/ensureType","../../../../core/arrayUtils","../../../../core/has","../../../../core/accessorSupport/set","../../../../core/accessorSupport/decorators/subclass","./CameraController","../../webgl-engine/lib/Camera"],(function(e,r,t,o,n,a,s,c,i,l,u){"use strict";e.InteractiveController=function(e){function t(){var r;return(r=e.apply(this,arguments)||this).startCamera=new u.Camera,r.currentCamera=new u.Camera,r}r._inheritsLoose(t,e);var o=t.prototype;return o.stepController=function(e,r){r.copyViewFrom(this.currentCamera),this.currentCamera.copyFrom(r)},o.onControllerStart=function(e){this.state=l.State.Running,this.startCamera.copyFrom(e),this.currentCamera.copyFrom(e)},o.onControllerEnd=function(e){e.copyViewFrom(this.currentCamera)},r._createClass(t,[{key:"isInteractive",get:function(){return!0}}]),t}(l.CameraController),e.InteractiveController=t.__decorate([i.subclass("esri.views.3d.state.controllers.InteractiveController")],e.InteractiveController),Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
