UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.63 kB
import"../../../../core/has.js";import{isSome as t}from"../../../../core/maybe.js";import{f as r}from"../../../../chunks/vec4f64.js";import{perVertexElevationAligner as e}from"../graphics/ElevationAligners.js";import{createMapSpaceUVCoords as a}from"./uvUtils.js";import{VertexAttribute as n}from"../../webgl-engine/lib/VertexAttribute.js";import{ColorMaterial as o}from"../../webgl-engine/materials/ColorMaterial.js";import{PatternMaterial as i}from"../../webgl-engine/materials/PatternMaterial.js";import{Style as s}from"../../webgl-engine/materials/PatternStyle.js";function l(t,r,e){return u(c(t),r,e)}function c(t){return t&&t.pattern||null}function u(e,a,n){return t(e)?"none"===e.style||"solid"===e.style?("none"===e.style&&(a.color=r(0,0,0,0),a.transparent=!0),new o(a)):(a.style=m(e.style),a.draped=n.isDraped,new i(a)):new o(a)}function m(t){switch(t){case"horizontal":return s.Horizontal;case"vertical":return s.Vertical;case"cross":return s.Cross;case"forward-diagonal":return s.ForwardDiagonal;case"backward-diagonal":return s.BackwardDiagonal;case"diagonal-cross":return s.DiagonalCross;default:return}}function f(t){return t.material instanceof i&&!t.material.parameters.draped}function g(t,r){if(f(t)){const e=t.vertexAttributes.get(n.POSITION).data,o=t.getMutableAttribute(n.UVMAPSPACE).data,i=t.getMutableAttribute(n.BOUNDINGRECT).data;a(o,i,e,r)}}function d(t,r,a,n,o){const i=e(t,r,a,n,o),s=t.stageObject.geometries;for(const e of s)g(e,o);return i}export{l as createMaterial,u as createMaterialFromPattern,m as parsePatternStyle,f as requiresUVUpdates,g as updateMapSpaceUVCoords,d as uvElevationAligner};