@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.41 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{deduplicate as e}from"../../../../../geometry/support/meshUtils/deduplicate.js";import{computeNeighbors as t}from"../../../support/meshProcessing.js";import{newLayout as r}from"../../../support/buffer/InterleavedLayout.js";import{VertexAttribute as s}from"../VertexAttribute.js";import{EdgeInputBufferLayout as i}from"./bufferLayouts.js";import{RegularEdgeBufferWriter as n,SilhouetteEdgeBufferWriter as o}from"./edgeBufferWriters.js";import{extractEdges as c}from"./edgePreprocessing.js";function f(e){const t=u(e.data,e.skipDeduplicate,e.indices,e.indicesLength);return m.updateSettings(e.writerSettings),a.updateSettings(e.writerSettings),c(t,m,a)}function u(r,s,n,o){if(s){const e=t(n,o,r.count);return new p(n,o,e,r)}const c=e(r.buffer,r.stride/4,{originalIndices:n}),f=t(c.indices,o,c.uniqueCount);return{faces:c.indices,facesLength:c.indices.length,neighbors:f,vertices:i.createView(c.buffer)}}class p{constructor(e,t,r,s){this.faces=e,this.facesLength=t,this.neighbors=r,this.vertices=s}}const m=new n,a=new o,d=r().vec3f(s.POSITION0).vec3f(s.POSITION1),g=r().vec3f(s.POSITION0).vec3f(s.POSITION1).u16(s.COMPONENTINDEX);export{f as extract,g as extractComponentsEdgeLocationsLayout,u as extractEdgeInformation,d as extractEdgeLocationsLayout};