@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
3 lines (2 loc) • 1.19 kB
JavaScript
import{aV as t,aW as e}from"./index-BPURObVq.esm.min.js";function i(t){const i=[],n=[],s=[],a=[],o=t.radius||.5,r=t.tessellation||64,u=t.arc&&(t.arc<=0||t.arc>1)?1:t.arc||1,l=0===t.sideOrientation?0:t.sideOrientation||e.DEFAULTSIDE;i.push(0,0,0),a.push(.5,.5);const c=2*Math.PI*u,d=1===u?c/r:c/(r-1);let p=0;for(let t=0;t<r;t++){const t=Math.cos(p),e=Math.sin(p),n=(t+1)/2,s=(1-e)/2;i.push(o*t,o*e,0),a.push(n,s),p+=d}1===u&&(i.push(i[3],i[4],i[5]),a.push(a[2],a[3]));const h=i.length/3;for(let t=1;t<h-1;t++)n.push(t+1,0,t);e.ComputeNormals(i,n,s),e._ComputeSides(l,i,n,s,a,t.frontUVs,t.backUVs);const f=new e;return f.indices=n,f.positions=i,f.normals=s,f.uvs=a,f}function n(e,n={},s=null){const a=new t(e,s);n.sideOrientation=t._GetDefaultSideOrientation(n.sideOrientation),a._originalBuilderSideOrientation=n.sideOrientation;return i(n).applyToMesh(a,n.updatable),a}const s={CreateDisc:n};let a=!1;function o(){a||(a=!0,e.CreateDisc=i,t.CreateDisc=(t,e,i,s=null,a,o)=>n(t,{radius:e,tessellation:i,sideOrientation:o,updatable:a},s))}o();export{n as CreateDisc,i as CreateDiscVertexData,s as DiscBuilder,o as RegisterDiscBuilder};
//# sourceMappingURL=discBuilder-BQYN1VYx.esm.min.js.map