UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 1.27 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{projectBuffer as o}from"../../../../geometry/projection/projectBuffer.js";import{newDoubleArray as e,doubleSubArray as t}from"../../../../geometry/support/DoubleArray.js";import{ringsToTriangulationInfo as n}from"../../../../geometry/support/triangulationUtils.js";import{applyPerVertexElevationAlignment as r}from"../../layers/graphics/elevationAlignmentUtils.js";import{drapedZ as i}from"../../terrain/OverlayRenderer.js";function s(o,t,i,s){const p="polygon"===o.type?1:0,c="polygon"===o.type?o.rings:o.paths,{position:a,outlines:u}=n(c,!!o.hasZ,p,o.spatialReference),f=e(a.length),m=r(a,o.spatialReference,0,f,0,a,0,a.length/3,t,i,s),g=null!=m;return{lines:g?l(u,a,f):[],projectionSuccess:g,sampledElevation:m}}function p(e,t){const r="polygon"===e.type?1:0,s="polygon"===e.type?e.rings:e.paths,{position:p,outlines:c}=n(s,!1,r),a=o(p,e.spatialReference,0,p,t,0);for(let o=2;o<p.length;o+=3)p[o]=i;return{lines:a?l(c,p):[],projectionSuccess:a}}function l(o,e,n=null){const r=new Array;for(const{index:i,count:s}of o){if(s<=1)continue;const o=3*i,p=3*s;r.push({position:t(e,3*i,3*s),mapPositions:null!=n?t(n,o,p):void 0})}return r}export{s as geometryToRenderInfo,p as geometryToRenderInfoDraped};