cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 2.1 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("../Geometry.js"),t=require("./Plane.js"),i=require("../math/Matrix4.js"),a=require("../math/Vector3.js"),n=require("../math/BoundingBox.js"),s=require("../core/vendor.js"),r=new i.default;function h(e,n,s){r.identity();var h=new t.default({widthSegments:n,heightSegments:s});switch(e){case"px":i.default.translate(r,r,a.default.POSITIVE_X),i.default.rotateY(r,r,Math.PI/2);break;case"nx":i.default.translate(r,r,a.default.NEGATIVE_X),i.default.rotateY(r,r,-Math.PI/2);break;case"py":i.default.translate(r,r,a.default.POSITIVE_Y),i.default.rotateX(r,r,-Math.PI/2);break;case"ny":i.default.translate(r,r,a.default.NEGATIVE_Y),i.default.rotateX(r,r,Math.PI/2);break;case"pz":i.default.translate(r,r,a.default.POSITIVE_Z);break;case"nz":i.default.translate(r,r,a.default.NEGATIVE_Z),i.default.rotateY(r,r,Math.PI)}return h.applyTransform(r),h}var d=e.default.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},(function(){this.build()}),{build:function(){var e={px:h("px",this.depthSegments,this.heightSegments),nx:h("nx",this.depthSegments,this.heightSegments),py:h("py",this.widthSegments,this.depthSegments),ny:h("ny",this.widthSegments,this.depthSegments),pz:h("pz",this.widthSegments,this.heightSegments),nz:h("nz",this.widthSegments,this.heightSegments)},t=["position","texcoord0","normal"],i=0,a=0;for(var r in e)i+=e[r].vertexCount,a+=e[r].indices.length;for(var d=0;d<t.length;d++)this.attributes[t[d]].init(i);this.indices=new s.default.Uint16Array(a);var u=0,l=0;for(var r in e){var o=e[r];for(d=0;d<t.length;d++)for(var g=t[d],f=o.attributes[g].value,m=o.attributes[g].size,c="normal"===g,S=0;S<f.length;S++){var p=f[S];this.inside&&c&&(p=-p),this.attributes[g].value[S+m*l]=p}var v=o.indices.length;for(S=0;S<o.indices.length;S++)this.indices[S+u]=l+o.indices[this.inside?v-S-1:S];u+=o.indices.length,l+=o.vertexCount}this.boundingBox=new n.default,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});exports.default=d;