UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.05 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{copy as r,invert as e,transpose as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";class n{constructor(r){this._bufferWriter=null,this._bufferWriter=r.createBufferWriter()}createBuffer(o,n){const s=this._bufferWriter;let l=null;if(o.transformation&&n)r(f,o.transformation),f[12]-=n[0],f[13]-=n[1],f[14]-=n[2],l=f;else{if(n)throw new Error("not implemented");o.transformation&&(l=o.transformation)}let u=null;l&&(e(a,f),t(a,a),u=a);const m=o.attributes,c=s.elementCount(m),b=s.vertexBufferLayout.stride/4;c>Math.floor(i/b)&&console.warn("geometry with very large number of elements encountered");const h=s.vertexBufferLayout.createBuffer(c),d=0;return s.write(l,u,m,o.objectAndLayerIdColor,h,d),{data:h.buffer,elementCount:c}}}const f=o(),a=o(),i=16777216/4;export{n as RenderGeometryBufferWriter};