@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.04 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{_ as t}from"../../../../../../../chunks/tslib.es6.js";import{UniformGroup as e,uniform as r}from"../../GraphShaderModule.js";import{ifElse as o,sin as i,cos as n,Mat4 as s,Float as l,Mat3 as m,equal as a}from"../../graph/glsl.js";import{cDegToRad as p,RotationType as u}from"./constants.js";import{isNan as g}from"./utils.js";class d extends e{getVVRotationMat4(t){return o(g(t),s.identity(),(()=>{const e=this.getNormalizedAngle(t).multiply(p),r=i(e),o=n(e);return new s(o,r,0,0,r.multiply(new l(-1)),o,0,0,0,0,1,0,0,0,0,1)}))}getVVRotationMat3(t){return o(g(t),m.identity(),(()=>{const e=this.getNormalizedAngle(t).multiply(p),r=i(e),o=n(e);return new m(o,r,0,r.multiply(new l(-1)),o,0,0,0,1)}))}getNormalizedAngle(t){const e=a(this.rotationType,new l(u.Arithmatic));return o(e,new l(90).subtract(t),t)}}t([r(l)],d.prototype,"rotationType",void 0);export{d as VisualVariableRotation};