@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{Manipulator3D as t}from"../Manipulator3D.js";import{GrabbingState as i}from"./GrabbingState.js";import{ManipulatorType as e}from"./ManipulatorType.js";class a{constructor(){this.grabbingState=i.NONE,this.zManipulator=null,this.firstSelected=null,this.numSelected=0,this.firstGrabbedXY=null}update(a){this.grabbingState=i.NONE,this.zManipulator=null,this.numSelected=0,this.firstSelected=null,this.firstGrabbedXY=null,a.forEachManipulator(((a,s)=>{if(s===e.TRANSLATE_Z&&(this.zManipulator=a),a instanceof t&&(a.selected&&(0===this.numSelected&&(this.firstSelected=a),this.numSelected++),null==this.firstGrabbedXY&&a.grabbing&&s===e.TRANSLATE_XY&&(this.firstGrabbedXY=a)),a.grabbing)switch(this.grabbingState|=i.ANY,s){case e.TRANSLATE_Z:this.grabbingState|=i.Z;break;case e.TRANSLATE_XY:this.grabbingState|=i.XY}}))}}export{a as ManipulatorState};