@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.7 kB
JavaScript
import{BufferViewFloat as e,BufferViewVec2f as t,BufferViewVec3f as r,BufferViewVec4f as o,BufferViewMat3f as n,BufferViewMat4f as f,BufferViewFloat64 as u,BufferViewVec2f64 as s,BufferViewVec3f64 as c,BufferViewVec4f64 as i,BufferViewMat3f64 as a,BufferViewMat4f64 as l,BufferViewUint8 as d,BufferViewVec2u8 as m,BufferViewVec3u8 as p,BufferViewVec4u8 as y,BufferViewUint16 as b,BufferViewVec2u16 as h,BufferViewVec3u16 as E,BufferViewVec4u16 as w,BufferViewUint32 as N,BufferViewVec2u32 as g,BufferViewVec3u32 as j,BufferViewVec4u32 as V,BufferViewInt8 as $,BufferViewVec2i8 as v,BufferViewVec3i8 as x,BufferViewVec4i8 as A,BufferViewInt16 as B,BufferViewVec2i16 as C,BufferViewVec3i16 as I,BufferViewVec4i16 as L,BufferViewInt32 as M,BufferViewVec2i32 as T,BufferViewVec3i32 as _,BufferViewVec4i32 as k}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as q}from"./InterleavedLayout.js";function z(e,t){return t.push(e.buffer),{buffer:e.buffer,layout:F(e.layout)}}function D(e){return G(e.layout).createView(e.buffer)}function F(e){const t=new Array;return e.fields.forEach(((e,r)=>{const o={...e,constructor:J(e.constructor)};t.push([r,o])})),{stride:e.stride,fields:t,fieldNames:e.fieldNames}}function G(e){const t=q();return t.stride=e.stride,t.fieldNames=e.fieldNames,e.fields.forEach((e=>t.fields.set(e[0],{...e[1],constructor:K(e[1].constructor)}))),t}const H=[e,t,r,o,n,f,u,s,c,i,a,l,d,m,p,y,b,h,E,w,N,g,j,V,$,v,x,A,B,C,I,L,M,T,_,k];function J(e){return`${e.ElementType}_${e.ElementCount}`}function K(e){return O.get(e)}const O=new Map;H.forEach((e=>O.set(J(e),e)));export{z as packInterleavedBuffer,F as packLayout,D as unpackInterleavedBuffer,G as unpackLayout};