UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.32 kB
import{deduplicate as e}from"../../../../../geometry/support/meshUtils/deduplicate.js";import{computeNeighbors as t}from"../../../support/meshProcessing.js";import{newLayout as i}from"../../../support/buffer/InterleavedLayout.js";import{VertexAttribute as r}from"../VertexAttribute.js";import{EdgeInputBufferLayout as s}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 p.updateSettings(e.writerSettings),d.updateSettings(e.writerSettings),c(t,p,d)}function u(i,r,n,o){if(r){const e=t(n,o,i.count);return new g(n,o,e,i)}const c=e(i.buffer,i.stride/4,{originalIndices:n,originalIndicesLength:o}),f=t(c.indices,o,c.uniqueCount);return{faces:c.indices,facesLength:c.indices.length,neighbors:f,vertices:s.createView(c.buffer)}}class g{constructor(e,t,i,r){this.faces=e,this.facesLength=t,this.neighbors=i,this.vertices=r}}const p=new n,d=new o,a=i().vec3f(r.POSITION0).vec3f(r.POSITION1),m=i().vec3f(r.POSITION0).vec3f(r.POSITION1).u16(r.COMPONENTINDEX).u16(r.U16PADDING,{glPadding:!0});export{f as extract,m as extractComponentsEdgeLocationsLayout,u as extractEdgeInformation,a as extractEdgeLocationsLayout};