UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

3 lines (2 loc) 1.74 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{watch as e,initial as t}from"../../../../core/reactiveUtils.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{resizeHandleCornerWidth as o,resizeHandleEdgeWidth as i,displayFocusMultiplier as s,resizeHandleCornerInputRadius as a,resizeHandleEdgeInputRadius as l}from"./sliceToolConfig.js";import{isDiagonalResizeHandle as n,resizeNormal as c,resizeOutlineOnly as m}from"./sliceToolUtils.js";import{Manipulator3D as f}from"../../interactive/Manipulator3D.js";import{worldScaledManipulatorSettings as d}from"../../interactive/manipulatorUtils.js";import{RenderObject as p}from"../../interactive/RenderObject.js";import{createPolylineGeometry as u}from"../../webgl-engine/lib/GeometryUtil.js";import{RibbonLineMaterial as w}from"../../webgl-engine/materials/RibbonLineMaterial.js";class b extends f{constructor(r,a){const l=n(a),c=l?o:i,m=c*s,f=i,p={renderOccluded:4,isDecoration:!0},u=new w({...p,width:c},r.state.isGlobal),b=new w({...p,width:m},r.state.isGlobal),h=new w({...p,width:f},r.state.isGlobal);super({view:r,...d,...j({isCorner:l,unfocusedMaterial:u,focusedMaterial:b,outlineMaterial:h})}),this._themeHandle=e(()=>r.effectiveTheme.accentColor,e=>{const t=e.toUnitRGBA();u.setParameters({color:t}),b.setParameters({color:t}),h.setParameters({color:t})},t)}destroy(){this._themeHandle.remove(),super.destroy()}}function j({isCorner:e,unfocusedMaterial:t,focusedMaterial:o,outlineMaterial:i}){const s=e?[r(1,0,0),r(0,0,0),r(0,1,0)]:[r(1,0,0),r(-1,0,0)];return{renderObjects:[new p(u(t,s),1|c),new p(u(o,s),2|c),new p(u(i,s),m)],collisionType:{type:"line",paths:[s]},radius:e?a:l,state:c}}export{b as ResizeManipulator};