@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.65 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"../../../../core/has.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{perVertexElevationAligner as e}from"../graphics/ElevationAligners.js";import{createMapSpaceUVCoords as r}from"./uvUtils.js";import{VertexAttribute as a}from"../../webgl-engine/lib/VertexAttribute.js";import{ColorMaterial as o}from"../../webgl-engine/materials/ColorMaterial.js";import{PatternMaterial as n}from"../../webgl-engine/materials/PatternMaterial.js";import{Style as i}from"../../webgl-engine/materials/PatternStyle.js";function s(e,r){const a=e?.pattern;return null==a?new o(r):"none"===a.style||"solid"===a.style?("none"===a.style&&(r.color=t(0,0,0,0),r.forceTransparentMode=!0),new o(r)):(r.style=l(a.style),new n(r))}function l(t){switch(t){case"horizontal":return i.Horizontal;case"vertical":return i.Vertical;case"cross":return i.Cross;case"forward-diagonal":return i.ForwardDiagonal;case"backward-diagonal":return i.BackwardDiagonal;case"diagonal-cross":return i.DiagonalCross;default:return}}function c(t){return t.material instanceof n&&!t.material.parameters.draped}function u(t,e){if(c(t)){const o=t.attributes.get(a.POSITION).data,n=t.getMutableAttribute(a.UVMAPSPACE).data,i=t.getMutableAttribute(a.BOUNDINGRECT).data;r(n,i,o,e)}}function m(t,r,a,o,n){const i=e(t,r,a,o,n),s=t.stageObject.geometries;for(const e of s)u(e,n);return i}export{s as createMaterial,l as parsePatternStyle,c as requiresUVUpdates,u as updateMapSpaceUVCoords,m as uvElevationAligner};