UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.09 kB
import{isUint16Array as e,isUint8Array as t}from"../../../../core/typedArrayUtil.js";import{generateDefaultIndexArray as n,newIndexArray as r}from"../../webgl-engine/lib/Indices.js";function o(r,o=n){return"number"==typeof r?o(r):e(r)||t(r)?new Uint32Array(r):r}function f(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const n=t-2,o=r(n);if("number"==typeof e){let e=0;for(let t=0;t<n;t+=1)t%2==0?(o[e++]=t,o[e++]=t+1,o[e++]=t+2):(o[e++]=t+1,o[e++]=t,o[e++]=t+2)}else{let t=0;for(let r=0;r<n;r+=1)if(r%2==0){const n=e[r],f=e[r+1],i=e[r+2];o[t++]=n,o[t++]=f,o[t++]=i}else{const n=e[r+1],f=e[r],i=e[r+2];o[t++]=n,o[t++]=f,o[t++]=i}}return o}function i(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const n=t-2,r=n<=65536?new Uint16Array(3*n):new Uint32Array(3*n);if("number"==typeof e){let e=0;for(let t=0;t<n;++t)r[e++]=0,r[e++]=t+1,r[e++]=t+2;return r}{const t=e[0];let o=e[1],f=0;for(let i=0;i<n;++i){const n=e[i+2];r[f++]=t,r[f++]=o,r[f++]=n,o=n}return r}}export{i as triangleFanToTriangles,f as triangleStripToTriangles,o as trianglesToTriangles};