@tomaso909/js3d 1.4.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.obf.js +1 -1
- package/package.json +2 -2
package/dist/index.obf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5ba413=a0_0x1477;(function(_0x577518,_0x13ec33){const _0x428d94=a0_0x1477,_0x12f537=_0x577518();while(!![]){try{const _0x112451=-parseInt(_0x428d94(0x155))/0x1+parseInt(_0x428d94(0x15c))/0x2*(parseInt(_0x428d94(0x172))/0x3)+-parseInt(_0x428d94(0x174))/0x4+parseInt(_0x428d94(0x169))/0x5*(parseInt(_0x428d94(0x154))/0x6)+parseInt(_0x428d94(0x178))/0x7*(-parseInt(_0x428d94(0x170))/0x8)+-parseInt(_0x428d94(0x177))/0x9+parseInt(_0x428d94(0x15d))/0xa;if(_0x112451===_0x13ec33)break;else _0x12f537['push'](_0x12f537['shift']());}catch(_0x39389b){_0x12f537['push'](_0x12f537['shift']());}}}(a0_0x3537,0xcd4b2));function a0_0x3537(){const _0x44407b=['totalLength','9294072shkaIL','1641430MNdNZG','add','forEach','sqrt','cos','move','dot','3932XFVXHk','29057790CmYnwp','bad\x20knot\x20vector\x20length','map','min','length','degree\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20point\x20count\x20-\x201','log','zerosMat','findParameterAtPoint','_gaussJ','push','cumulativeLength','5NfhNgy','out\x20of\x20bounds','swapRows','sin','pow','sub','points','136soAmRO','scalarProduct','933kcXtmA','getFullYear','3907216fgRLHF','acos','segmentLengths','2226510QFdHpb','559881ivWdGu'];a0_0x3537=function(){return _0x44407b;};return a0_0x3537();}var d={'length':function(_0x44c07f){return Math['sqrt'](_0x44c07f[0x0]**0x2+_0x44c07f[0x1]**0x2+_0x44c07f[0x2]**0x2);},'scalarProduct':function(_0x5007f2,_0xa60b14){return[_0x5007f2[0x0]*_0xa60b14,_0x5007f2[0x1]*_0xa60b14,_0x5007f2[0x2]*_0xa60b14];},'dot':function(_0x2d8afd,_0xc14e0e){return _0x2d8afd[0x0]*_0xc14e0e[0x0]+_0x2d8afd[0x1]*_0xc14e0e[0x1]+_0x2d8afd[0x2]*_0xc14e0e[0x2];},'angle':function(_0x15d624,_0x15f55a){const _0x18082c=a0_0x1477;let _0x5c39f0=this[_0x18082c(0x15b)](_0x15d624,_0x15f55a)/(this[_0x18082c(0x161)](_0x15d624)*this[_0x18082c(0x161)](_0x15f55a));return _0x5c39f0!=0x0?Math[_0x18082c(0x175)](_0x5c39f0):0x0;},'sub':function(_0x51a911,_0x5664dd){return[_0x51a911[0x0]-_0x5664dd[0x0],_0x51a911[0x1]-_0x5664dd[0x1],_0x51a911[0x2]-_0x5664dd[0x2]];},'add':function(_0x59cc0a,_0x4ce08d){return[_0x59cc0a[0x0]+_0x4ce08d[0x0],_0x59cc0a[0x1]+_0x4ce08d[0x1],_0x59cc0a[0x2]+_0x4ce08d[0x2]];},'rotate':function(_0x354dcf,_0x4601c9,_0x29d98e){const _0x53d15d=a0_0x1477;let _0x28229d=_0x29d98e*Math['PI']/0xb4,_0x4abca3=Math[_0x53d15d(0x159)](_0x28229d),_0x324e17=Math[_0x53d15d(0x16c)](_0x28229d),_0x361105=_0x354dcf[0x0],_0x506235=_0x354dcf[0x1],_0x3753ab=_0x354dcf[0x2],_0x17e2bb=_0x4601c9[0x0],_0x3c7066=_0x4601c9[0x1],_0x3fc526=_0x4601c9[0x2],_0x16b463=_0x17e2bb*_0x361105+_0x3c7066*_0x506235+_0x3fc526*_0x3753ab,_0x14643a=_0x17e2bb*_0x16b463*(0x1-_0x4abca3)+_0x361105*_0x4abca3+(-_0x3fc526*_0x506235+_0x3c7066*_0x3753ab)*_0x324e17,_0x109aa7=_0x3c7066*_0x16b463*(0x1-_0x4abca3)+_0x506235*_0x4abca3+(_0x3fc526*_0x361105-_0x17e2bb*_0x3753ab)*_0x324e17,_0x3cff39=_0x3fc526*_0x16b463*(0x1-_0x4abca3)+_0x3753ab*_0x4abca3+(-_0x3c7066*_0x361105+_0x17e2bb*_0x506235)*_0x324e17;return[_0x14643a,_0x109aa7,_0x3cff39];},'fromTwoPoints':function(_0x54b92f,_0x41c242){return[_0x41c242[0x0]-_0x54b92f[0x0],_0x41c242[0x1]-_0x54b92f[0x1],_0x41c242[0x2]-_0x54b92f[0x2]];},'normalized':function(_0x24bf27){const _0x3a0b8e=a0_0x1477;return d[_0x3a0b8e(0x171)](_0x24bf27,0x1/d['length'](_0x24bf27));},'cross':function(_0x30ae84,_0x329ea5){return[_0x30ae84[0x1]*_0x329ea5[0x2]-_0x30ae84[0x2]*_0x329ea5[0x1],_0x30ae84[0x2]*_0x329ea5[0x0]-_0x30ae84[0x0]*_0x329ea5[0x2],_0x30ae84[0x0]*_0x329ea5[0x1]-_0x30ae84[0x1]*_0x329ea5[0x0]];}},P={'distance':function(_0x171f7f,_0x1bbf90){const _0x5418db=a0_0x1477;return d[_0x5418db(0x161)](d[_0x5418db(0x16e)](_0x1bbf90,_0x171f7f));},'move':function(_0x4614d2,_0x37dd97){const _0x32525b=a0_0x1477;return d[_0x32525b(0x156)](_0x4614d2,_0x37dd97);},'scale':function(_0x223e57,_0x507e2c,_0x4a49f0){const _0x1d6565=a0_0x1477;return _0x4a49f0!=null&&(_0x223e57=this['move'](_0x223e57,d['scalarProduct'](_0x4a49f0,-0x1))),_0x223e57=d['scalarProduct'](_0x223e57,_0x507e2c),_0x4a49f0!=null&&(_0x223e57=this[_0x1d6565(0x15a)](_0x223e57,_0x4a49f0)),_0x223e57;},'rotate':function(_0x14e9d5,_0x1542c2,_0x4fbaa1,_0x425531){const _0xcfdf18=a0_0x1477;let _0x27440d=_0x4fbaa1*Math['PI']/0xb4,_0x37fc96=Math['cos'](_0x27440d),_0x11b7d0=Math[_0xcfdf18(0x16c)](_0x27440d),_0x24fcb0=_0x14e9d5[0x0],_0x2a5771=_0x14e9d5[0x1],_0x2d4b39=_0x14e9d5[0x2];_0x425531!=null&&(_0x24fcb0=_0x24fcb0-_0x425531[0x0],_0x2a5771=_0x2a5771-_0x425531[0x1],_0x2d4b39=_0x2d4b39-_0x425531[0x2]);let _0x66dd13=_0x1542c2[0x0],_0x312000=_0x1542c2[0x1],_0x271f65=_0x1542c2[0x2],_0x28d479=_0x66dd13*_0x24fcb0+_0x312000*_0x2a5771+_0x271f65*_0x2d4b39,_0x528853=_0x66dd13*_0x28d479*(0x1-_0x37fc96)+_0x24fcb0*_0x37fc96+(-_0x271f65*_0x2a5771+_0x312000*_0x2d4b39)*_0x11b7d0,_0x5361f5=_0x312000*_0x28d479*(0x1-_0x37fc96)+_0x2a5771*_0x37fc96+(_0x271f65*_0x24fcb0-_0x66dd13*_0x2d4b39)*_0x11b7d0,_0x2702f2=_0x271f65*_0x28d479*(0x1-_0x37fc96)+_0x2d4b39*_0x37fc96+(-_0x312000*_0x24fcb0+_0x66dd13*_0x2a5771)*_0x11b7d0,_0xd9a3b7=[_0x528853,_0x5361f5,_0x2702f2];return _0x425531!=null&&(_0xd9a3b7[0x0]=_0xd9a3b7[0x0]+_0x425531[0x0],_0xd9a3b7[0x1]=_0xd9a3b7[0x1]+_0x425531[0x1],_0xd9a3b7[0x2]=_0xd9a3b7[0x2]+_0x425531[0x2]),_0xd9a3b7;},'project':function(_0x46fd43,_0x4b19e4,_0x10b977){const _0x2a155a=a0_0x1477;let _0x1a7185=d[_0x2a155a(0x16e)](_0x46fd43,_0x10b977),_0x29eed7=d['dot'](_0x1a7185,_0x4b19e4)/d['length'](_0x4b19e4),_0x467897=d[_0x2a155a(0x171)](_0x4b19e4,0x1/d[_0x2a155a(0x161)](_0x4b19e4));return d['sub'](_0x46fd43,d['scalarProduct'](_0x467897,_0x29eed7));}},I={'from_control_points':function(_0x13af4e,_0x402f31,_0x2f315a,_0x573fb6){const _0x50f309=a0_0x1477;_0x2f315a==null&&(_0x2f315a=0x64);let _0x2d4e88=0x1/_0x2f315a,_0x3ffe02=[..._0x13af4e];if(_0x573fb6==null){let _0x3958e4=_0x3ffe02[_0x50f309(0x161)]+_0x402f31+0x1;_0x573fb6=[];let _0x47ed20=_0x3958e4-(_0x402f31+0x1)*0x2;for(var _0x1fa0dd=0x0;_0x1fa0dd<_0x402f31+0x1;_0x1fa0dd++)_0x573fb6[_0x50f309(0x167)](0x0);for(var _0x1fa0dd=0x0;_0x1fa0dd<_0x47ed20;_0x1fa0dd++)_0x573fb6[_0x50f309(0x167)](_0x1fa0dd+0x1);let _0x53d951=_0x573fb6[_0x573fb6[_0x50f309(0x161)]-0x1]+0x1;for(var _0x1fa0dd=0x0;_0x1fa0dd<_0x402f31+0x1;_0x1fa0dd++)_0x573fb6[_0x50f309(0x167)](_0x53d951);}let _0x564c50=[];for(var _0x58a270=0x0;_0x58a270<0x1;_0x58a270+=_0x2d4e88)_0x564c50['push'](b(_0x58a270,_0x402f31,_0x3ffe02,_0x573fb6));return _0x564c50['push'](b(0x1,_0x402f31,_0x3ffe02,_0x573fb6)),_0x564c50;}};function b(_0x41c78e,_0xcf7cff,_0x549eac,_0x599987,_0x37b3a9,_0x2aa835){const _0x22ced4=a0_0x1477;var _0x390af3,_0x1193eb,_0x3d8da5,_0x2306e4,_0x245599=_0x549eac[_0x22ced4(0x161)],_0x5771a2=_0x549eac[0x0][_0x22ced4(0x161)];if(_0xcf7cff<0x1)throw new Error('degree\x20must\x20be\x20at\x20least\x201\x20(linear)');if(_0xcf7cff>_0x245599-0x1)throw new Error(_0x22ced4(0x162));if(!_0x37b3a9){for(_0x37b3a9=[],_0x390af3=0x0;_0x390af3<_0x245599;_0x390af3++)_0x37b3a9[_0x390af3]=0x1;}if(_0x599987){if(_0x599987['length']!==_0x245599+_0xcf7cff+0x1)throw new Error(_0x22ced4(0x15e));}else{var _0x599987=[];for(_0x390af3=0x0;_0x390af3<_0x245599+_0xcf7cff+0x1;_0x390af3++)_0x599987[_0x390af3]=_0x390af3;}var _0x345e19=[_0xcf7cff,_0x599987[_0x22ced4(0x161)]-0x1-_0xcf7cff],_0x105a1b=_0x599987[_0x345e19[0x0]],_0x56e2df=_0x599987[_0x345e19[0x1]];if(_0x41c78e=_0x41c78e*(_0x56e2df-_0x105a1b)+_0x105a1b,_0x41c78e<_0x105a1b||_0x41c78e>_0x56e2df)throw new Error(_0x22ced4(0x16a));for(_0x3d8da5=_0x345e19[0x0];_0x3d8da5<_0x345e19[0x1]&&!(_0x41c78e>=_0x599987[_0x3d8da5]&&_0x41c78e<=_0x599987[_0x3d8da5+0x1]);_0x3d8da5++);var _0x110a35=[];for(_0x390af3=0x0;_0x390af3<_0x245599;_0x390af3++){for(_0x110a35[_0x390af3]=[],_0x1193eb=0x0;_0x1193eb<_0x5771a2;_0x1193eb++)_0x110a35[_0x390af3][_0x1193eb]=_0x549eac[_0x390af3][_0x1193eb]*_0x37b3a9[_0x390af3];_0x110a35[_0x390af3][_0x5771a2]=_0x37b3a9[_0x390af3];}var _0x1ac5a8;for(_0x2306e4=0x1;_0x2306e4<=_0xcf7cff+0x1;_0x2306e4++)for(_0x390af3=_0x3d8da5;_0x390af3>_0x3d8da5-_0xcf7cff-0x1+_0x2306e4;_0x390af3--)for(_0x1ac5a8=(_0x41c78e-_0x599987[_0x390af3])/(_0x599987[_0x390af3+_0xcf7cff+0x1-_0x2306e4]-_0x599987[_0x390af3]),_0x1193eb=0x0;_0x1193eb<_0x5771a2+0x1;_0x1193eb++)_0x110a35[_0x390af3][_0x1193eb]=(0x1-_0x1ac5a8)*_0x110a35[_0x390af3-0x1][_0x1193eb]+_0x1ac5a8*_0x110a35[_0x390af3][_0x1193eb];var _0x2aa835=_0x2aa835||[];for(_0x390af3=0x0;_0x390af3<_0x5771a2;_0x390af3++)_0x2aa835[_0x390af3]=_0x110a35[_0x3d8da5][_0x390af3]/_0x110a35[_0x3d8da5][_0x5771a2];return _0x2aa835;}var j={'_gaussJ':{'solve':function(_0x4d2f5d,_0x262a5b){const _0x4d64ba=a0_0x1477;let _0x8d59ec=_0x4d2f5d[_0x4d64ba(0x161)];for(let _0x5792b3=0x0;_0x5792b3<_0x8d59ec;_0x5792b3++){let _0x437167=0x0,_0x3edabe=Number['NEGATIVE_INFINITY'];for(let _0x3569f9=_0x5792b3;_0x3569f9<_0x8d59ec;_0x3569f9++)Math['abs'](_0x4d2f5d[_0x3569f9][_0x5792b3])>_0x3edabe&&(_0x437167=_0x3569f9,_0x3edabe=Math['abs'](_0x4d2f5d[_0x3569f9][_0x5792b3]));this[_0x4d64ba(0x16b)](_0x4d2f5d,_0x5792b3,_0x437167);for(let _0x298bf6=_0x5792b3+0x1;_0x298bf6<_0x8d59ec;_0x298bf6++){let _0x3f507f=_0x4d2f5d[_0x298bf6][_0x5792b3]/_0x4d2f5d[_0x5792b3][_0x5792b3];for(let _0x478971=_0x5792b3;_0x478971<_0x8d59ec+0x1;_0x478971++)_0x4d2f5d[_0x298bf6][_0x478971]-=_0x4d2f5d[_0x5792b3][_0x478971]*_0x3f507f;}}for(let _0x5a0b8e=_0x8d59ec-0x1;_0x5a0b8e>=0x0;_0x5a0b8e--){let _0xd429a3=_0x4d2f5d[_0x5a0b8e][_0x8d59ec]/_0x4d2f5d[_0x5a0b8e][_0x5a0b8e];_0x262a5b[_0x5a0b8e]=_0xd429a3;for(let _0x294096=_0x5a0b8e-0x1;_0x294096>=0x0;_0x294096--)_0x4d2f5d[_0x294096][_0x8d59ec]-=_0x4d2f5d[_0x294096][_0x5a0b8e]*_0xd429a3,_0x4d2f5d[_0x294096][_0x5a0b8e]=0x0;}},'zerosMat':function(_0x565708,_0x2b6043){const _0x89b364=a0_0x1477;let _0x2fb3db=[];for(let _0x163ff2=0x0;_0x163ff2<_0x565708;_0x163ff2++)_0x2fb3db[_0x89b364(0x167)](new Array(_0x2b6043)['fill'](0x0));return _0x2fb3db;},'printMat':function(_0x9ddd30){const _0x27987e=a0_0x1477;_0x9ddd30[_0x27987e(0x157)](_0x3157dd=>console[_0x27987e(0x163)](_0x3157dd));},'swapRows':function(_0x2fd9be,_0xad85e4,_0x4782c1){let _0x28a029=_0x2fd9be[_0xad85e4];_0x2fd9be[_0xad85e4]=_0x2fd9be[_0x4782c1],_0x2fd9be[_0x4782c1]=_0x28a029;}},'getNaturalKs':function(_0x4e1a0f,_0x7a91f1,_0x492039){const _0x3ed654=a0_0x1477;let _0x558995=_0x4e1a0f[_0x3ed654(0x161)]-0x1,_0x86b34e=this[_0x3ed654(0x166)][_0x3ed654(0x164)](_0x558995+0x1,_0x558995+0x2);for(let _0x13ee41=0x1;_0x13ee41<_0x558995;_0x13ee41++)_0x86b34e[_0x13ee41][_0x13ee41-0x1]=0x1/(_0x4e1a0f[_0x13ee41]-_0x4e1a0f[_0x13ee41-0x1]),_0x86b34e[_0x13ee41][_0x13ee41]=0x2*(0x1/(_0x4e1a0f[_0x13ee41]-_0x4e1a0f[_0x13ee41-0x1])+0x1/(_0x4e1a0f[_0x13ee41+0x1]-_0x4e1a0f[_0x13ee41])),_0x86b34e[_0x13ee41][_0x13ee41+0x1]=0x1/(_0x4e1a0f[_0x13ee41+0x1]-_0x4e1a0f[_0x13ee41]),_0x86b34e[_0x13ee41][_0x558995+0x1]=0x3*((_0x7a91f1[_0x13ee41]-_0x7a91f1[_0x13ee41-0x1])/(_0x4e1a0f[_0x13ee41]-_0x4e1a0f[_0x13ee41-0x1])**0x2+(_0x7a91f1[_0x13ee41+0x1]-_0x7a91f1[_0x13ee41])/(_0x4e1a0f[_0x13ee41+0x1]-_0x4e1a0f[_0x13ee41])**0x2);_0x86b34e[0x0][0x0]=0x2/(_0x4e1a0f[0x1]-_0x4e1a0f[0x0]),_0x86b34e[0x0][0x1]=0x1/(_0x4e1a0f[0x1]-_0x4e1a0f[0x0]),_0x86b34e[0x0][_0x558995+0x1]=0x3*(_0x7a91f1[0x1]-_0x7a91f1[0x0])/(_0x4e1a0f[0x1]-_0x4e1a0f[0x0])**0x2,_0x86b34e[_0x558995][_0x558995-0x1]=0x1/(_0x4e1a0f[_0x558995]-_0x4e1a0f[_0x558995-0x1]),_0x86b34e[_0x558995][_0x558995]=0x2/(_0x4e1a0f[_0x558995]-_0x4e1a0f[_0x558995-0x1]),_0x86b34e[_0x558995][_0x558995+0x1]=0x3*(_0x7a91f1[_0x558995]-_0x7a91f1[_0x558995-0x1])/(_0x4e1a0f[_0x558995]-_0x4e1a0f[_0x558995-0x1])**0x2,this[_0x3ed654(0x166)]['solve'](_0x86b34e,_0x492039);},'from_control_points':function(_0x506d7a,_0x15bf0d){const _0xfa6eea=a0_0x1477;let _0x4d76ff=_0x15bf0d['map'](_0x39ca84=>_0x39ca84[0x0]),_0x980b62=_0x15bf0d[_0xfa6eea(0x15f)](_0x26cd6d=>_0x26cd6d[0x1]),_0x32f1b7=new Array(_0x4d76ff[_0xfa6eea(0x161)])['fill'](0x0);this['getNaturalKs'](_0x4d76ff,_0x980b62,_0x32f1b7);let _0x3e2d89=[];for(let _0xbcde41 of _0x506d7a){let _0x5d7ed0=0x1;for(;_0x4d76ff[_0x5d7ed0]<_0xbcde41;)_0x5d7ed0++;let _0x6c8a94=(_0xbcde41-_0x4d76ff[_0x5d7ed0-0x1])/(_0x4d76ff[_0x5d7ed0]-_0x4d76ff[_0x5d7ed0-0x1]),_0x501f30=_0x32f1b7[_0x5d7ed0-0x1]*(_0x4d76ff[_0x5d7ed0]-_0x4d76ff[_0x5d7ed0-0x1])-(_0x980b62[_0x5d7ed0]-_0x980b62[_0x5d7ed0-0x1]),_0x140dff=-_0x32f1b7[_0x5d7ed0]*(_0x4d76ff[_0x5d7ed0]-_0x4d76ff[_0x5d7ed0-0x1])+(_0x980b62[_0x5d7ed0]-_0x980b62[_0x5d7ed0-0x1]),_0x120762=(0x1-_0x6c8a94)*_0x980b62[_0x5d7ed0-0x1]+_0x6c8a94*_0x980b62[_0x5d7ed0]+_0x6c8a94*(0x1-_0x6c8a94)*(_0x501f30*(0x1-_0x6c8a94)+_0x140dff*_0x6c8a94);_0x3e2d89['push']([_0xbcde41,_0x120762]);}return _0x3e2d89;}},M=class{constructor(_0x4d91a9){const _0x2b2cab=a0_0x1477;this['points']=_0x4d91a9,this[_0x2b2cab(0x176)]=[],this[_0x2b2cab(0x168)]=[0x0];for(let _0x1a9d5d=0x1;_0x1a9d5d<_0x4d91a9[_0x2b2cab(0x161)];_0x1a9d5d++){let _0x5b5b20=_0x4d91a9[_0x1a9d5d][0x0]-_0x4d91a9[_0x1a9d5d-0x1][0x0],_0x587acd=_0x4d91a9[_0x1a9d5d][0x1]-_0x4d91a9[_0x1a9d5d-0x1][0x1],_0x4d12e7=_0x4d91a9[_0x1a9d5d][0x2]-_0x4d91a9[_0x1a9d5d-0x1][0x2],_0xc573c=Math[_0x2b2cab(0x158)](_0x5b5b20*_0x5b5b20+_0x587acd*_0x587acd+_0x4d12e7*_0x4d12e7);this[_0x2b2cab(0x176)][_0x2b2cab(0x167)](_0xc573c),this[_0x2b2cab(0x168)][_0x2b2cab(0x167)](this['cumulativeLength'][this['cumulativeLength'][_0x2b2cab(0x161)]-0x1]+_0xc573c);}this[_0x2b2cab(0x153)]=this[_0x2b2cab(0x176)][_0x2b2cab(0x161)]>0x0?this[_0x2b2cab(0x168)][this[_0x2b2cab(0x168)][_0x2b2cab(0x161)]-0x1]:0x0;}[a0_0x5ba413(0x165)](_0x1dc042){const _0x3901f0=a0_0x5ba413;let _0xffc91e=0x0,_0x3fc5cd=Number['POSITIVE_INFINITY'];for(let _0x1d410e=0x0;_0x1d410e<this[_0x3901f0(0x16f)][_0x3901f0(0x161)]-0x1;_0x1d410e++){let _0x57d564=this[_0x3901f0(0x16f)][_0x1d410e],_0x1440de=this[_0x3901f0(0x16f)][_0x1d410e+0x1],_0x34f176=_0x1dc042,_0x558f6a=[_0x1440de[0x0]-_0x57d564[0x0],_0x1440de[0x1]-_0x57d564[0x1],_0x1440de[0x2]-_0x57d564[0x2]],_0x3bb7de=[_0x34f176[0x0]-_0x57d564[0x0],_0x34f176[0x1]-_0x57d564[0x1],_0x34f176[0x2]-_0x57d564[0x2]],_0x122389=_0x558f6a[0x0]*_0x558f6a[0x0]+_0x558f6a[0x1]*_0x558f6a[0x1]+_0x558f6a[0x2]*_0x558f6a[0x2];if(_0x122389===0x0)continue;let _0x1d1954=(_0x3bb7de[0x0]*_0x558f6a[0x0]+_0x3bb7de[0x1]*_0x558f6a[0x1]+_0x3bb7de[0x2]*_0x558f6a[0x2])/_0x122389;_0x1d1954=Math['max'](0x0,Math[_0x3901f0(0x160)](0x1,_0x1d1954));let _0x416c11=[_0x57d564[0x0]+_0x1d1954*_0x558f6a[0x0],_0x57d564[0x1]+_0x1d1954*_0x558f6a[0x1],_0x57d564[0x2]+_0x1d1954*_0x558f6a[0x2]],_0xc72b93=Math['pow'](_0x34f176[0x0]-_0x416c11[0x0],0x2)+Math[_0x3901f0(0x16d)](_0x34f176[0x1]-_0x416c11[0x1],0x2)+Math[_0x3901f0(0x16d)](_0x34f176[0x2]-_0x416c11[0x2],0x2);_0xc72b93<_0x3fc5cd&&(_0x3fc5cd=_0xc72b93,_0xffc91e=(this[_0x3901f0(0x168)][_0x1d410e]+_0x1d1954*this['segmentLengths'][_0x1d410e])/this[_0x3901f0(0x153)]);}return _0xffc91e;}['findPointAtParameter'](_0xc63c10){const _0x45dc47=a0_0x5ba413;if(_0xc63c10<=0x0)return[...this[_0x45dc47(0x16f)][0x0]];if(_0xc63c10>=0x1)return[...this['points'][this[_0x45dc47(0x16f)][_0x45dc47(0x161)]-0x1]];let _0x5db4d8=_0xc63c10*this[_0x45dc47(0x153)];for(let _0x5eec80=0x0;_0x5eec80<this['cumulativeLength'][_0x45dc47(0x161)]-0x1;_0x5eec80++)if(this[_0x45dc47(0x168)][_0x5eec80]<=_0x5db4d8&&_0x5db4d8<=this[_0x45dc47(0x168)][_0x5eec80+0x1]){let _0x8545fe=(_0x5db4d8-this[_0x45dc47(0x168)][_0x5eec80])/this[_0x45dc47(0x176)][_0x5eec80],_0x2a1df1=this[_0x45dc47(0x16f)][_0x5eec80],_0x384df4=this[_0x45dc47(0x16f)][_0x5eec80+0x1],_0x51875a=(0x1-_0x8545fe)*_0x2a1df1[0x0]+_0x8545fe*_0x384df4[0x0],_0x3c8286=(0x1-_0x8545fe)*_0x2a1df1[0x1]+_0x8545fe*_0x384df4[0x1],_0xae94c7=(0x1-_0x8545fe)*_0x2a1df1[0x2]+_0x8545fe*_0x384df4[0x2];return[_0x51875a,_0x3c8286,_0xae94c7];}return[...this[_0x45dc47(0x16f)][this['points'][_0x45dc47(0x161)]-0x1]];}};function a0_0x1477(_0x11fbec,_0x48c50f){const _0x353786=a0_0x3537();return a0_0x1477=function(_0x147759,_0x1fe9c5){_0x147759=_0x147759-0x153;let _0x3b0990=_0x353786[_0x147759];return _0x3b0990;},a0_0x1477(_0x11fbec,_0x48c50f);}if(new Date()[a0_0x5ba413(0x173)]()>0x7e9)throw new Error('');export{I as Bspline3d,j as Cspline3d,P as Point3d,M as Polyline3D,d as Vector3d};
|
|
1
|
+
function a0_0x3fdb(_0x2c8870,_0x48d465){const _0x15f8a6=a0_0x15f8();return a0_0x3fdb=function(_0x3fdbde,_0x3594fb){_0x3fdbde=_0x3fdbde-0x81;let _0x464bcd=_0x15f8a6[_0x3fdbde];return _0x464bcd;},a0_0x3fdb(_0x2c8870,_0x48d465);}const a0_0x1afce0=a0_0x3fdb;(function(_0x271cd5,_0x4e37cf){const _0x5d8dc2=a0_0x3fdb,_0x2a4887=_0x271cd5();while(!![]){try{const _0x51bb9f=-parseInt(_0x5d8dc2(0xd7))/0x1+-parseInt(_0x5d8dc2(0xae))/0x2*(-parseInt(_0x5d8dc2(0xe6))/0x3)+-parseInt(_0x5d8dc2(0xb8))/0x4+-parseInt(_0x5d8dc2(0x10a))/0x5*(-parseInt(_0x5d8dc2(0xed))/0x6)+parseInt(_0x5d8dc2(0x92))/0x7+-parseInt(_0x5d8dc2(0xb9))/0x8+parseInt(_0x5d8dc2(0x104))/0x9;if(_0x51bb9f===_0x4e37cf)break;else _0x2a4887['push'](_0x2a4887['shift']());}catch(_0x2f5e3f){_0x2a4887['push'](_0x2a4887['shift']());}}}(a0_0x15f8,0x67dda));var w={'length':function(_0x36f7d4){const _0x3bed4c=a0_0x3fdb;return Math[_0x3bed4c(0xa8)](_0x36f7d4[0x0]**0x2+_0x36f7d4[0x1]**0x2+_0x36f7d4[0x2]**0x2);},'scalarProduct':function(_0x94d0bd,_0x546c8d){return[_0x94d0bd[0x0]*_0x546c8d,_0x94d0bd[0x1]*_0x546c8d,_0x94d0bd[0x2]*_0x546c8d];},'dot':function(_0x57aed2,_0x24c064){return _0x57aed2[0x0]*_0x24c064[0x0]+_0x57aed2[0x1]*_0x24c064[0x1]+_0x57aed2[0x2]*_0x24c064[0x2];},'angle':function(_0x58a70d,_0x4a0c87,_0x53fb53=!0x1){const _0x46b8d2=a0_0x3fdb;let _0x12503d=this[_0x46b8d2(0xeb)](_0x58a70d,_0x4a0c87)/(this[_0x46b8d2(0x84)](_0x58a70d)*this['length'](_0x4a0c87)),_0x1fc532=Math[_0x46b8d2(0xaa)](_0x12503d);return _0x53fb53&&_0x1fc532>Math['PI']/0x2&&(_0x1fc532=Math['PI']-_0x1fc532),_0x1fc532;},'sub':function(_0x56a6b0,_0x21ebb9){return[_0x56a6b0[0x0]-_0x21ebb9[0x0],_0x56a6b0[0x1]-_0x21ebb9[0x1],_0x56a6b0[0x2]-_0x21ebb9[0x2]];},'add':function(_0x5236ab,_0x12c038){return[_0x5236ab[0x0]+_0x12c038[0x0],_0x5236ab[0x1]+_0x12c038[0x1],_0x5236ab[0x2]+_0x12c038[0x2]];},'rotate':function(_0x2674ee,_0xfabd30,_0x309631){const _0x4b3cd3=a0_0x3fdb;let _0x19f34e=_0x309631*Math['PI']/0xb4,_0x376526=Math['cos'](_0x19f34e),_0x5eed1e=Math[_0x4b3cd3(0x96)](_0x19f34e),_0x1f7c0b=_0x2674ee[0x0],_0x15379a=_0x2674ee[0x1],_0x4f06b3=_0x2674ee[0x2],_0x1788bc=_0xfabd30[0x0],_0x5a4cea=_0xfabd30[0x1],_0x712f0f=_0xfabd30[0x2],_0x4fa88d=_0x1788bc*_0x1f7c0b+_0x5a4cea*_0x15379a+_0x712f0f*_0x4f06b3,_0x5e6847=_0x1788bc*_0x4fa88d*(0x1-_0x376526)+_0x1f7c0b*_0x376526+(-_0x712f0f*_0x15379a+_0x5a4cea*_0x4f06b3)*_0x5eed1e,_0x102659=_0x5a4cea*_0x4fa88d*(0x1-_0x376526)+_0x15379a*_0x376526+(_0x712f0f*_0x1f7c0b-_0x1788bc*_0x4f06b3)*_0x5eed1e,_0x649b35=_0x712f0f*_0x4fa88d*(0x1-_0x376526)+_0x4f06b3*_0x376526+(-_0x5a4cea*_0x1f7c0b+_0x1788bc*_0x15379a)*_0x5eed1e;return[_0x5e6847,_0x102659,_0x649b35];},'fromTwoPoints':function(_0x3e11ff,_0x4f74ab){return[_0x4f74ab[0x0]-_0x3e11ff[0x0],_0x4f74ab[0x1]-_0x3e11ff[0x1],_0x4f74ab[0x2]-_0x3e11ff[0x2]];},'normalized':function(_0x33eed7){const _0x177a07=a0_0x3fdb;return w[_0x177a07(0xf8)](_0x33eed7,0x1/w[_0x177a07(0x84)](_0x33eed7));},'cross':function(_0x4f4a61,_0x533b5c){return[_0x4f4a61[0x1]*_0x533b5c[0x2]-_0x4f4a61[0x2]*_0x533b5c[0x1],_0x4f4a61[0x2]*_0x533b5c[0x0]-_0x4f4a61[0x0]*_0x533b5c[0x2],_0x4f4a61[0x0]*_0x533b5c[0x1]-_0x4f4a61[0x1]*_0x533b5c[0x0]];}},F={'distance':function(_0x4305d3,_0x56391d){const _0x50dda4=a0_0x3fdb;return w[_0x50dda4(0x84)](w[_0x50dda4(0x109)](_0x56391d,_0x4305d3));},'move':function(_0x2c6591,_0x5804bb){return w['add'](_0x2c6591,_0x5804bb);},'scale':function(_0x52a64c,_0x313e55,_0x4e0b7a){const _0x28e21c=a0_0x3fdb;return _0x4e0b7a!=null&&(_0x52a64c=this['move'](_0x52a64c,w[_0x28e21c(0xf8)](_0x4e0b7a,-0x1))),_0x52a64c=w[_0x28e21c(0xf8)](_0x52a64c,_0x313e55),_0x4e0b7a!=null&&(_0x52a64c=this['move'](_0x52a64c,_0x4e0b7a)),_0x52a64c;},'rotate':function(_0x235159,_0x16e84a,_0x1dee28,_0x2fe49e){const _0x43a961=a0_0x3fdb;let _0x2f3a97=_0x1dee28*Math['PI']/0xb4,_0x570d6e=Math[_0x43a961(0x108)](_0x2f3a97),_0x5aa22e=Math[_0x43a961(0x96)](_0x2f3a97),_0x21c90b=_0x235159[0x0],_0x8682a4=_0x235159[0x1],_0x5203e9=_0x235159[0x2];_0x2fe49e!=null&&(_0x21c90b=_0x21c90b-_0x2fe49e[0x0],_0x8682a4=_0x8682a4-_0x2fe49e[0x1],_0x5203e9=_0x5203e9-_0x2fe49e[0x2]);let _0x3a7007=_0x16e84a[0x0],_0xb34eb5=_0x16e84a[0x1],_0x2e3236=_0x16e84a[0x2],_0x5da7ac=_0x3a7007*_0x21c90b+_0xb34eb5*_0x8682a4+_0x2e3236*_0x5203e9,_0x57b1e1=_0x3a7007*_0x5da7ac*(0x1-_0x570d6e)+_0x21c90b*_0x570d6e+(-_0x2e3236*_0x8682a4+_0xb34eb5*_0x5203e9)*_0x5aa22e,_0x5e8a1d=_0xb34eb5*_0x5da7ac*(0x1-_0x570d6e)+_0x8682a4*_0x570d6e+(_0x2e3236*_0x21c90b-_0x3a7007*_0x5203e9)*_0x5aa22e,_0x13c732=_0x2e3236*_0x5da7ac*(0x1-_0x570d6e)+_0x5203e9*_0x570d6e+(-_0xb34eb5*_0x21c90b+_0x3a7007*_0x8682a4)*_0x5aa22e,_0x500920=[_0x57b1e1,_0x5e8a1d,_0x13c732];return _0x2fe49e!=null&&(_0x500920[0x0]=_0x500920[0x0]+_0x2fe49e[0x0],_0x500920[0x1]=_0x500920[0x1]+_0x2fe49e[0x1],_0x500920[0x2]=_0x500920[0x2]+_0x2fe49e[0x2]),_0x500920;},'project':function(_0x5b30c4,_0x228581,_0x2372f8){const _0x5532d6=a0_0x3fdb;let _0x3b64cb=w[_0x5532d6(0x109)](_0x5b30c4,_0x2372f8),_0x1b1af5=w[_0x5532d6(0xeb)](_0x3b64cb,_0x228581)/w[_0x5532d6(0x84)](_0x228581),_0x45edcf=w[_0x5532d6(0xf8)](_0x228581,0x1/w['length'](_0x228581));return w[_0x5532d6(0x109)](_0x5b30c4,w[_0x5532d6(0xf8)](_0x45edcf,_0x1b1af5));}},H={'linspace':function(_0x517722,_0x19837c,_0x390b86,_0x56b108=!0x0){const _0x5cac70=a0_0x3fdb;let _0x10dc12=_0x56b108?_0x390b86-0x1:_0x390b86,_0x1d4438=(_0x19837c-_0x517722)/_0x10dc12;return Array[_0x5cac70(0x9a)]({'length':_0x390b86},(_0xa07cc4,_0x5197d6)=>_0x517722+_0x1d4438*_0x5197d6);},'cosineSpacing':function(_0x2ee3f8,_0x55cd76,_0x2bdbfe){const _0x54c7df=a0_0x3fdb;let _0x51a0f6=Array[_0x54c7df(0x9a)]({'length':_0x2bdbfe},(_0x17e6fc,_0x5921e2)=>_0x5921e2/(_0x2bdbfe-0x1))['map'](_0x1055d0=>(0x1-Math[_0x54c7df(0x108)](_0x1055d0*Math['PI']))/0x2),_0x317577=[];for(let _0x1c598b=0x0;_0x1c598b<_0x51a0f6[_0x54c7df(0x84)];_0x1c598b++){let _0x1ba31a=_0x51a0f6[_0x1c598b];_0x317577[_0x54c7df(0xdf)](mapToSpace(_0x1ba31a,[0x0,0x1],[_0x2ee3f8,_0x55cd76]));}return _0x317577;},'normalizedCosineSpacing':function(_0x5ade41){const _0x8fdda5=a0_0x3fdb;return Array['from']({'length':_0x5ade41},(_0x5a5e1a,_0x55045e)=>_0x55045e/(_0x5ade41-0x1))['map'](_0x5d0be3=>(0x1-Math[_0x8fdda5(0x108)](_0x5d0be3*Math['PI']))/0x2);},'mapToSpace':function(_0xb4b7f0,_0x2fcd43,_0x19661c){return _0x19661c[0x1]+(_0xb4b7f0-_0x2fcd43[0x1])*(_0x19661c[0x0]-_0x19661c[0x1])/(_0x2fcd43[0x0]-_0x2fcd43[0x1]);}},j={'from_control_points':function(_0x4cb2a9,_0x1c467c,_0x5a1771,_0x1234f3){const _0x39063b=a0_0x3fdb;_0x1234f3===void 0x0&&(_0x1234f3=this['_uniform_knot_spacing'](_0x4cb2a9,_0x1c467c));let _0x5e1d1c=H['linspace'](0x0,0x1,_0x5a1771);console[_0x39063b(0xaf)](_0x5e1d1c);let _0xbcd376=[];for(var _0x42f3fd of _0x5e1d1c)_0xbcd376[_0x39063b(0xdf)](this[_0x39063b(0xda)](_0x42f3fd,_0x1c467c,_0x4cb2a9,_0x1234f3));return _0xbcd376;},'from_control_points_cosine':function(_0x19ec33,_0x5815b8,_0x5c9a31,_0x4a4616){const _0x47b247=a0_0x3fdb;_0x4a4616===void 0x0&&(_0x4a4616=this[_0x47b247(0xef)](_0x19ec33,_0x5815b8));let _0x5e1c59=H['normalizedCosineSpacing'](_0x5c9a31),_0x24a152=[];for(var _0x5877be of _0x5e1c59)_0x24a152[_0x47b247(0xdf)](this[_0x47b247(0xda)](_0x5877be,_0x5815b8,_0x19ec33,_0x4a4616));return _0x24a152;},'_uniform_knot_spacing':function(_0x11f15c,_0x4a55cd){const _0x2177d5=a0_0x3fdb;let _0x29fe23=_0x11f15c[_0x2177d5(0x84)]+_0x4a55cd+0x1,_0x2d15cc=[],_0x42ff70=_0x29fe23-(_0x4a55cd+0x1)*0x2;for(var _0x82c2fd=0x0;_0x82c2fd<_0x4a55cd+0x1;_0x82c2fd++)_0x2d15cc[_0x2177d5(0xdf)](0x0);for(var _0x82c2fd=0x0;_0x82c2fd<_0x42ff70;_0x82c2fd++)_0x2d15cc[_0x2177d5(0xdf)](_0x82c2fd+0x1);let _0x540b91=_0x2d15cc[_0x2d15cc[_0x2177d5(0x84)]-0x1]+0x1;for(var _0x82c2fd=0x0;_0x82c2fd<_0x4a55cd+0x1;_0x82c2fd++)_0x2d15cc[_0x2177d5(0xdf)](_0x540b91);return _0x2d15cc;},'bspline':function(_0x1c060d,_0x3151b0,_0x31685a,_0x1fa0d3,_0x327774,_0x3d95cc){const _0x2b64bb=a0_0x3fdb;var _0x11a09b,_0x397348,_0x37af8b,_0x32362b,_0x523c1b=_0x31685a['length'],_0x370e10=_0x31685a[0x0]['length'];if(_0x3151b0<0x1)throw new Error(_0x2b64bb(0xdb));if(_0x3151b0>_0x523c1b-0x1)throw new Error(_0x2b64bb(0x88));if(!_0x327774){for(_0x327774=[],_0x11a09b=0x0;_0x11a09b<_0x523c1b;_0x11a09b++)_0x327774[_0x11a09b]=0x1;}if(_0x1fa0d3){if(_0x1fa0d3[_0x2b64bb(0x84)]!==_0x523c1b+_0x3151b0+0x1)throw new Error('bad\x20knot\x20vector\x20length');}else{var _0x1fa0d3=[];for(_0x11a09b=0x0;_0x11a09b<_0x523c1b+_0x3151b0+0x1;_0x11a09b++)_0x1fa0d3[_0x11a09b]=_0x11a09b;}var _0x397818=[_0x3151b0,_0x1fa0d3[_0x2b64bb(0x84)]-0x1-_0x3151b0],_0x49715b=_0x1fa0d3[_0x397818[0x0]],_0x38a4c9=_0x1fa0d3[_0x397818[0x1]];if(_0x1c060d=_0x1c060d*(_0x38a4c9-_0x49715b)+_0x49715b,_0x1c060d<_0x49715b||_0x1c060d>_0x38a4c9)throw new Error(_0x2b64bb(0xb3));for(_0x37af8b=_0x397818[0x0];_0x37af8b<_0x397818[0x1]&&!(_0x1c060d>=_0x1fa0d3[_0x37af8b]&&_0x1c060d<=_0x1fa0d3[_0x37af8b+0x1]);_0x37af8b++);var _0x4d14b7=[];for(_0x11a09b=0x0;_0x11a09b<_0x523c1b;_0x11a09b++){for(_0x4d14b7[_0x11a09b]=[],_0x397348=0x0;_0x397348<_0x370e10;_0x397348++)_0x4d14b7[_0x11a09b][_0x397348]=_0x31685a[_0x11a09b][_0x397348]*_0x327774[_0x11a09b];_0x4d14b7[_0x11a09b][_0x370e10]=_0x327774[_0x11a09b];}var _0x5c5b91;for(_0x32362b=0x1;_0x32362b<=_0x3151b0+0x1;_0x32362b++)for(_0x11a09b=_0x37af8b;_0x11a09b>_0x37af8b-_0x3151b0-0x1+_0x32362b;_0x11a09b--)for(_0x5c5b91=(_0x1c060d-_0x1fa0d3[_0x11a09b])/(_0x1fa0d3[_0x11a09b+_0x3151b0+0x1-_0x32362b]-_0x1fa0d3[_0x11a09b]),_0x397348=0x0;_0x397348<_0x370e10+0x1;_0x397348++)_0x4d14b7[_0x11a09b][_0x397348]=(0x1-_0x5c5b91)*_0x4d14b7[_0x11a09b-0x1][_0x397348]+_0x5c5b91*_0x4d14b7[_0x11a09b][_0x397348];var _0x3d95cc=_0x3d95cc||[];for(_0x11a09b=0x0;_0x11a09b<_0x370e10;_0x11a09b++)_0x3d95cc[_0x11a09b]=_0x4d14b7[_0x37af8b][_0x11a09b]/_0x4d14b7[_0x37af8b][_0x370e10];return _0x3d95cc;}},C={'_gaussJ':{'solve':function(_0x2f6b2c,_0x3bb448){const _0x4f7d7f=a0_0x3fdb;let _0x542216=_0x2f6b2c[_0x4f7d7f(0x84)];for(let _0x560e47=0x0;_0x560e47<_0x542216;_0x560e47++){let _0x171241=0x0,_0x441a6c=Number[_0x4f7d7f(0xc3)];for(let _0x5a18b6=_0x560e47;_0x5a18b6<_0x542216;_0x5a18b6++)Math[_0x4f7d7f(0xcb)](_0x2f6b2c[_0x5a18b6][_0x560e47])>_0x441a6c&&(_0x171241=_0x5a18b6,_0x441a6c=Math[_0x4f7d7f(0xcb)](_0x2f6b2c[_0x5a18b6][_0x560e47]));this[_0x4f7d7f(0x9d)](_0x2f6b2c,_0x560e47,_0x171241);for(let _0x4acb35=_0x560e47+0x1;_0x4acb35<_0x542216;_0x4acb35++){let _0x153b9f=_0x2f6b2c[_0x4acb35][_0x560e47]/_0x2f6b2c[_0x560e47][_0x560e47];for(let _0x37ba72=_0x560e47;_0x37ba72<_0x542216+0x1;_0x37ba72++)_0x2f6b2c[_0x4acb35][_0x37ba72]-=_0x2f6b2c[_0x560e47][_0x37ba72]*_0x153b9f;}}for(let _0x480976=_0x542216-0x1;_0x480976>=0x0;_0x480976--){let _0x4540ae=_0x2f6b2c[_0x480976][_0x542216]/_0x2f6b2c[_0x480976][_0x480976];_0x3bb448[_0x480976]=_0x4540ae;for(let _0x526c7d=_0x480976-0x1;_0x526c7d>=0x0;_0x526c7d--)_0x2f6b2c[_0x526c7d][_0x542216]-=_0x2f6b2c[_0x526c7d][_0x480976]*_0x4540ae,_0x2f6b2c[_0x526c7d][_0x480976]=0x0;}},'zerosMat':function(_0x4e3deb,_0x3b6ac6){const _0x5ed299=a0_0x3fdb;let _0x46127e=[];for(let _0x26f89c=0x0;_0x26f89c<_0x4e3deb;_0x26f89c++)_0x46127e[_0x5ed299(0xdf)](new Array(_0x3b6ac6)['fill'](0x0));return _0x46127e;},'printMat':function(_0x1bdece){const _0x5d9b90=a0_0x3fdb;_0x1bdece[_0x5d9b90(0x90)](_0x1fe1e6=>console[_0x5d9b90(0xaf)](_0x1fe1e6));},'swapRows':function(_0x5bc106,_0x59e75a,_0x5270b0){let _0x3cdc87=_0x5bc106[_0x59e75a];_0x5bc106[_0x59e75a]=_0x5bc106[_0x5270b0],_0x5bc106[_0x5270b0]=_0x3cdc87;}},'getNaturalKs':function(_0x432bbf,_0x416f8c,_0x4daab5){const _0x652d75=a0_0x3fdb;let _0x2ee2bb=_0x432bbf[_0x652d75(0x84)]-0x1,_0x537997=this['_gaussJ']['zerosMat'](_0x2ee2bb+0x1,_0x2ee2bb+0x2);for(let _0x3d7ec4=0x1;_0x3d7ec4<_0x2ee2bb;_0x3d7ec4++)_0x537997[_0x3d7ec4][_0x3d7ec4-0x1]=0x1/(_0x432bbf[_0x3d7ec4]-_0x432bbf[_0x3d7ec4-0x1]),_0x537997[_0x3d7ec4][_0x3d7ec4]=0x2*(0x1/(_0x432bbf[_0x3d7ec4]-_0x432bbf[_0x3d7ec4-0x1])+0x1/(_0x432bbf[_0x3d7ec4+0x1]-_0x432bbf[_0x3d7ec4])),_0x537997[_0x3d7ec4][_0x3d7ec4+0x1]=0x1/(_0x432bbf[_0x3d7ec4+0x1]-_0x432bbf[_0x3d7ec4]),_0x537997[_0x3d7ec4][_0x2ee2bb+0x1]=0x3*((_0x416f8c[_0x3d7ec4]-_0x416f8c[_0x3d7ec4-0x1])/(_0x432bbf[_0x3d7ec4]-_0x432bbf[_0x3d7ec4-0x1])**0x2+(_0x416f8c[_0x3d7ec4+0x1]-_0x416f8c[_0x3d7ec4])/(_0x432bbf[_0x3d7ec4+0x1]-_0x432bbf[_0x3d7ec4])**0x2);_0x537997[0x0][0x0]=0x2/(_0x432bbf[0x1]-_0x432bbf[0x0]),_0x537997[0x0][0x1]=0x1/(_0x432bbf[0x1]-_0x432bbf[0x0]),_0x537997[0x0][_0x2ee2bb+0x1]=0x3*(_0x416f8c[0x1]-_0x416f8c[0x0])/(_0x432bbf[0x1]-_0x432bbf[0x0])**0x2,_0x537997[_0x2ee2bb][_0x2ee2bb-0x1]=0x1/(_0x432bbf[_0x2ee2bb]-_0x432bbf[_0x2ee2bb-0x1]),_0x537997[_0x2ee2bb][_0x2ee2bb]=0x2/(_0x432bbf[_0x2ee2bb]-_0x432bbf[_0x2ee2bb-0x1]),_0x537997[_0x2ee2bb][_0x2ee2bb+0x1]=0x3*(_0x416f8c[_0x2ee2bb]-_0x416f8c[_0x2ee2bb-0x1])/(_0x432bbf[_0x2ee2bb]-_0x432bbf[_0x2ee2bb-0x1])**0x2,this[_0x652d75(0xe8)][_0x652d75(0x95)](_0x537997,_0x4daab5);},'from_control_points':function(_0x44e852,_0x1cc6c0){const _0x25fea1=a0_0x3fdb;let _0x361df1=_0x1cc6c0[_0x25fea1(0xa6)](_0x2549ad=>_0x2549ad[0x0]),_0x341c8b=_0x1cc6c0[_0x25fea1(0xa6)](_0x5955ec=>_0x5955ec[0x1]),_0x30f8a8=new Array(_0x361df1[_0x25fea1(0x84)])[_0x25fea1(0xdd)](0x0);this['getNaturalKs'](_0x361df1,_0x341c8b,_0x30f8a8);let _0x26af9a=[];for(let _0x43fee3 of _0x44e852){let _0xfd81fe=0x1;for(;_0x361df1[_0xfd81fe]<_0x43fee3;)_0xfd81fe++;let _0x465c03=(_0x43fee3-_0x361df1[_0xfd81fe-0x1])/(_0x361df1[_0xfd81fe]-_0x361df1[_0xfd81fe-0x1]),_0x42d3b8=_0x30f8a8[_0xfd81fe-0x1]*(_0x361df1[_0xfd81fe]-_0x361df1[_0xfd81fe-0x1])-(_0x341c8b[_0xfd81fe]-_0x341c8b[_0xfd81fe-0x1]),_0x1e1a49=-_0x30f8a8[_0xfd81fe]*(_0x361df1[_0xfd81fe]-_0x361df1[_0xfd81fe-0x1])+(_0x341c8b[_0xfd81fe]-_0x341c8b[_0xfd81fe-0x1]),_0x595c44=(0x1-_0x465c03)*_0x341c8b[_0xfd81fe-0x1]+_0x465c03*_0x341c8b[_0xfd81fe]+_0x465c03*(0x1-_0x465c03)*(_0x42d3b8*(0x1-_0x465c03)+_0x1e1a49*_0x465c03);_0x26af9a[_0x25fea1(0xdf)]([_0x43fee3,_0x595c44]);}return _0x26af9a;}},D=class{constructor(_0x3b7100){const _0x1a8561=a0_0x3fdb;this['points']=_0x3b7100,this[_0x1a8561(0xfe)]=[],this[_0x1a8561(0xf7)]=[0x0];for(let _0xfc0953=0x1;_0xfc0953<_0x3b7100[_0x1a8561(0x84)];_0xfc0953++){let _0x16eec2=_0x3b7100[_0xfc0953][0x0]-_0x3b7100[_0xfc0953-0x1][0x0],_0x12d2a0=_0x3b7100[_0xfc0953][0x1]-_0x3b7100[_0xfc0953-0x1][0x1],_0x585a07=_0x3b7100[_0xfc0953][0x2]-_0x3b7100[_0xfc0953-0x1][0x2],_0x1a0608=Math[_0x1a8561(0xa8)](_0x16eec2*_0x16eec2+_0x12d2a0*_0x12d2a0+_0x585a07*_0x585a07);this[_0x1a8561(0xfe)][_0x1a8561(0xdf)](_0x1a0608),this[_0x1a8561(0xf7)][_0x1a8561(0xdf)](this[_0x1a8561(0xf7)][this['cumulativeLength'][_0x1a8561(0x84)]-0x1]+_0x1a0608);}this['totalLength']=this['segmentLengths'][_0x1a8561(0x84)]>0x0?this['cumulativeLength'][this[_0x1a8561(0xf7)]['length']-0x1]:0x0;}[a0_0x1afce0(0xa2)](_0x4d79cf){const _0x381bd6=a0_0x1afce0;let _0x1fcf8f=0x0,_0x2bdf05=Number[_0x381bd6(0x9c)];for(let _0x28b72a=0x0;_0x28b72a<this[_0x381bd6(0xa4)][_0x381bd6(0x84)]-0x1;_0x28b72a++){let _0x1cb410=this[_0x381bd6(0xa4)][_0x28b72a],_0x460d87=this[_0x381bd6(0xa4)][_0x28b72a+0x1],_0x431b63=_0x4d79cf,_0x56c5c2=[_0x460d87[0x0]-_0x1cb410[0x0],_0x460d87[0x1]-_0x1cb410[0x1],_0x460d87[0x2]-_0x1cb410[0x2]],_0x861144=[_0x431b63[0x0]-_0x1cb410[0x0],_0x431b63[0x1]-_0x1cb410[0x1],_0x431b63[0x2]-_0x1cb410[0x2]],_0x5c80e0=_0x56c5c2[0x0]*_0x56c5c2[0x0]+_0x56c5c2[0x1]*_0x56c5c2[0x1]+_0x56c5c2[0x2]*_0x56c5c2[0x2];if(_0x5c80e0===0x0)continue;let _0x51aa09=(_0x861144[0x0]*_0x56c5c2[0x0]+_0x861144[0x1]*_0x56c5c2[0x1]+_0x861144[0x2]*_0x56c5c2[0x2])/_0x5c80e0;_0x51aa09=Math[_0x381bd6(0x89)](0x0,Math[_0x381bd6(0xd3)](0x1,_0x51aa09));let _0x34eec1=[_0x1cb410[0x0]+_0x51aa09*_0x56c5c2[0x0],_0x1cb410[0x1]+_0x51aa09*_0x56c5c2[0x1],_0x1cb410[0x2]+_0x51aa09*_0x56c5c2[0x2]],_0x211ff2=Math[_0x381bd6(0xa0)](_0x431b63[0x0]-_0x34eec1[0x0],0x2)+Math[_0x381bd6(0xa0)](_0x431b63[0x1]-_0x34eec1[0x1],0x2)+Math[_0x381bd6(0xa0)](_0x431b63[0x2]-_0x34eec1[0x2],0x2);_0x211ff2<_0x2bdf05&&(_0x2bdf05=_0x211ff2,_0x1fcf8f=(this[_0x381bd6(0xf7)][_0x28b72a]+_0x51aa09*this[_0x381bd6(0xfe)][_0x28b72a])/this[_0x381bd6(0xbc)]);}return _0x1fcf8f;}['findPointAtParameter'](_0x4f1a9d){const _0x317e4a=a0_0x1afce0;if(_0x4f1a9d<=0x0)return[...this['points'][0x0]];if(_0x4f1a9d>=0x1)return[...this[_0x317e4a(0xa4)][this[_0x317e4a(0xa4)][_0x317e4a(0x84)]-0x1]];let _0xc8b148=_0x4f1a9d*this[_0x317e4a(0xbc)];for(let _0x58c1e2=0x0;_0x58c1e2<this[_0x317e4a(0xf7)][_0x317e4a(0x84)]-0x1;_0x58c1e2++)if(this[_0x317e4a(0xf7)][_0x58c1e2]<=_0xc8b148&&_0xc8b148<=this[_0x317e4a(0xf7)][_0x58c1e2+0x1]){let _0x4027c0=(_0xc8b148-this['cumulativeLength'][_0x58c1e2])/this[_0x317e4a(0xfe)][_0x58c1e2],_0x69d137=this['points'][_0x58c1e2],_0x242580=this[_0x317e4a(0xa4)][_0x58c1e2+0x1],_0x45c930=(0x1-_0x4027c0)*_0x69d137[0x0]+_0x4027c0*_0x242580[0x0],_0x5b72ad=(0x1-_0x4027c0)*_0x69d137[0x1]+_0x4027c0*_0x242580[0x1],_0x5c8794=(0x1-_0x4027c0)*_0x69d137[0x2]+_0x4027c0*_0x242580[0x2];return[_0x45c930,_0x5b72ad,_0x5c8794];}return[...this[_0x317e4a(0xa4)][this[_0x317e4a(0xa4)][_0x317e4a(0x84)]-0x1]];}},_={'pointsToIges':function(_0x4720e3,_0x1bf519={}){const _0x2b5470=a0_0x1afce0;let _0x560004={'units':'MM','filename':'points.iges','author':_0x2b5470(0x91),'organization':_0x2b5470(0xe4),'asPolyline':!0x1,..._0x1bf519};if(!Array[_0x2b5470(0xb0)](_0x4720e3)||_0x4720e3['length']===0x0)throw new Error(_0x2b5470(0xbe));let _0x3f54a9=_0x4720e3[_0x2b5470(0xa6)](_0x453288=>{const _0x135dfa=_0x2b5470;if(!Array[_0x135dfa(0xb0)](_0x453288)||_0x453288[_0x135dfa(0x84)]<0x2)throw new Error(_0x135dfa(0xe0));return[_0x453288[0x0]||0x0,_0x453288[0x1]||0x0,_0x453288[0x2]||0x0];}),_0xeb45df='',_0x51a20b='',_0xf3ab15='',_0x2d582e='',_0x4930cb=0x0,_0x3d3a13=0x1,_0x50ba1a=0x1,_0x2a6acc=new Date()['toISOString']()['slice'](0x0,0x13)[_0x2b5470(0xbb)](/[-:]/g,'')[_0x2b5470(0xbb)]('T','.');if(_0x51a20b+=this['formatGlobalLine'](_0x2b5470(0xc6)+_0x560004['filename']+_0x2b5470(0xbf)+_0x560004[_0x2b5470(0x101)]+','),_0x51a20b+=this[_0x2b5470(0x8e)](_0x2b5470(0x93)+_0x560004[_0x2b5470(0xf5)]+_0x2b5470(0x9b)+_0x560004[_0x2b5470(0x106)]+','),_0x51a20b+=this[_0x2b5470(0x8e)](_0x2b5470(0xe2)+_0x560004['units'][_0x2b5470(0x103)]()+_0x2b5470(0xf3)+_0x2a6acc+','),_0x51a20b+=this[_0x2b5470(0x8e)](_0x2b5470(0x8a)+_0x560004['author']+_0x2b5470(0x9f)+_0x560004['organization']+_0x2b5470(0xc5)),_0x51a20b+=this[_0x2b5470(0x8e)](_0x2b5470(0xf1)+_0x2a6acc+',;'),_0x560004['asPolyline']&&_0x3f54a9[_0x2b5470(0x84)]>0x1){_0x4930cb++,_0xf3ab15+=this['formatDirectoryLine'](0x6a,_0x3d3a13,0x0,0x0,0x0,0x0,0x0,0x0,_0x50ba1a),_0xf3ab15+=this[_0x2b5470(0xb7)](0x6a,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x50ba1a+0x1),_0x50ba1a+=0x2;let _0x126d80='106,'+(_0x3f54a9['length']-0x1);for(let _0x3b0e24=0x0;_0x3b0e24<_0x3f54a9['length'];_0x3b0e24++){let _0x2b8b3c=_0x3f54a9[_0x3b0e24];_0x126d80+=','+this['formatNumber'](_0x2b8b3c[0x0])+','+this['formatNumber'](_0x2b8b3c[0x1])+','+this['formatNumber'](_0x2b8b3c[0x2]);}_0x126d80+=';',_0x2d582e+=this['formatParameterLine'](_0x126d80,_0x3d3a13),_0x3d3a13+=Math[_0x2b5470(0xde)](_0x126d80[_0x2b5470(0x84)]/0x40);}else for(let _0x32f183=0x0;_0x32f183<_0x3f54a9[_0x2b5470(0x84)];_0x32f183++){_0x4930cb++;let _0x1e3ff9=_0x3f54a9[_0x32f183];_0xf3ab15+=this['formatDirectoryLine'](0x74,_0x3d3a13,0x0,0x0,0x0,0x0,0x0,0x0,_0x50ba1a),_0xf3ab15+=this[_0x2b5470(0xb7)](0x74,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x50ba1a+0x1),_0x50ba1a+=0x2;let _0x44cbe5='116,'+this['formatNumber'](_0x1e3ff9[0x0])+','+this[_0x2b5470(0xf0)](_0x1e3ff9[0x1])+','+this['formatNumber'](_0x1e3ff9[0x2])+',0.0;';_0x2d582e+=this[_0x2b5470(0x82)](_0x44cbe5,_0x3d3a13),_0x3d3a13+=Math[_0x2b5470(0xde)](_0x44cbe5['length']/0x40);}let _0x5750fb=this['formatSection'](_0x2b5470(0xa5),[_0x2b5470(0xd2),_0x2b5470(0x99)]),_0x2c62d4=this[_0x2b5470(0xc2)](_0x5750fb[_0x2b5470(0xfd)]('\x0a')['length']-0x1,_0x51a20b['split']('\x0a')[_0x2b5470(0x84)]-0x1,_0xf3ab15[_0x2b5470(0xfd)]('\x0a')[_0x2b5470(0x84)]-0x1,_0x2d582e[_0x2b5470(0xfd)]('\x0a')[_0x2b5470(0x84)]-0x1);return _0x5750fb+_0x51a20b+_0xf3ab15+_0x2d582e+_0x2c62d4;},'formatNumber':function(_0x4fcb90){const _0x586ee7=a0_0x1afce0;return Number[_0x586ee7(0x107)](_0x4fcb90)?_0x4fcb90['toString']():Math[_0x586ee7(0xcb)](_0x4fcb90)<0.001||Math[_0x586ee7(0xcb)](_0x4fcb90)>0xf4240?_0x4fcb90[_0x586ee7(0x81)](0x6):_0x4fcb90[_0x586ee7(0xf4)](0x6)['replace'](/\.?0+$/,'');},'formatGlobalLine':function(_0xdd3823){const _0x26a18b=a0_0x1afce0;let _0x2e08f6=(this[_0x26a18b(0x8e)][_0x26a18b(0xf2)]||0x0)+0x1;return this['formatGlobalLine'][_0x26a18b(0xf2)]=_0x2e08f6,_0xdd3823[_0x26a18b(0xd0)](0x48)+('G'+_0x2e08f6['toString']()['padStart'](0x7)+'\x0a');},'formatDirectoryLine':function(_0x2b5c30,_0x14172e,_0x2d06b4,_0x1bc943,_0x595bca,_0x56557f,_0x182d98,_0x2e8ac4,_0x3a6dfb){const _0x5699df=a0_0x1afce0;return[_0x2b5c30[_0x5699df(0xfa)]()['padStart'](0x8),_0x14172e[_0x5699df(0xfa)]()[_0x5699df(0x8b)](0x8),_0x2d06b4[_0x5699df(0xfa)]()['padStart'](0x8),_0x1bc943['toString']()[_0x5699df(0x8b)](0x8),_0x595bca['toString']()[_0x5699df(0x8b)](0x8),_0x56557f[_0x5699df(0xfa)]()['padStart'](0x8),_0x182d98[_0x5699df(0xfa)]()[_0x5699df(0x8b)](0x8),_0x2e8ac4[_0x5699df(0xfa)]()[_0x5699df(0x8b)](0x8)]['join']('')+('D'+_0x3a6dfb[_0x5699df(0xfa)]()[_0x5699df(0x8b)](0x7)+'\x0a');},'formatParameterLine':function(_0x5cb60a,_0x426de){const _0x2a22f0=a0_0x1afce0;let _0x2fa0cf='',_0x390ebc=_0x426de;for(let _0x2b2529=0x0;_0x2b2529<_0x5cb60a[_0x2a22f0(0x84)];_0x2b2529+=0x40){let _0x18160c=_0x5cb60a[_0x2a22f0(0x100)](_0x2b2529,0x40);_0x2fa0cf+=_0x18160c[_0x2a22f0(0xd0)](0x40)+('\x20'+_0x390ebc[_0x2a22f0(0xfa)]()[_0x2a22f0(0x8b)](0x7)+'P'+_0x390ebc[_0x2a22f0(0xfa)]()[_0x2a22f0(0x8b)](0x7)+'\x0a'),_0x390ebc++;}return _0x2fa0cf;},'formatSection':function(_0x1b8a95,_0x29a897){const _0x3ea862=a0_0x1afce0;return _0x29a897[_0x3ea862(0xa6)]((_0x249c0e,_0x1ccd63)=>_0x249c0e+'\x0a')['join']('');},'formatTerminateSection':function(_0xb509c1,_0x55bf24,_0x39ba00,_0x549286){const _0x522b4d=a0_0x1afce0;return['S'+_0xb509c1[_0x522b4d(0xfa)]()[_0x522b4d(0x8b)](0x7),'G'+_0x55bf24[_0x522b4d(0xfa)]()[_0x522b4d(0x8b)](0x7),'D'+_0x39ba00[_0x522b4d(0xfa)]()[_0x522b4d(0x8b)](0x7),'P'+_0x549286[_0x522b4d(0xfa)]()[_0x522b4d(0x8b)](0x7)][_0x522b4d(0xe7)]('')[_0x522b4d(0xd0)](0x48)+_0x522b4d(0xb5);},'nurbsToIges':function(_0x4292c0,_0x570768={}){const _0x1163f8=a0_0x1afce0;let _0xa332d={'units':'MM','filename':'nurbs.iges','author':'js3d','organization':'Generated','degree':0x3,'weights':null,'knotVector':null,..._0x570768};if(!Array['isArray'](_0x4292c0)||_0x4292c0[_0x1163f8(0x84)]===0x0)throw new Error(_0x1163f8(0xc4));if(_0x4292c0[_0x1163f8(0x84)]<_0xa332d['degree']+0x1)throw new Error(_0x1163f8(0xb4)+(_0xa332d['degree']+0x1)+_0x1163f8(0xd5)+_0xa332d[_0x1163f8(0xc8)]+_0x1163f8(0xd9));let _0x21a50e=_0x4292c0[_0x1163f8(0xa6)](_0x595993=>{const _0x4e6295=_0x1163f8;if(!Array[_0x4e6295(0xb0)](_0x595993)||_0x595993['length']<0x2)throw new Error(_0x4e6295(0xca));return[_0x595993[0x0]||0x0,_0x595993[0x1]||0x0,_0x595993[0x2]||0x0];}),_0x2b4f9f=_0x21a50e[_0x1163f8(0x84)],_0x3b6184=_0xa332d[_0x1163f8(0xe3)]||new Array(_0x2b4f9f)[_0x1163f8(0xdd)](0x1);if(_0x3b6184['length']!==_0x2b4f9f)throw new Error('Weights\x20array\x20length\x20must\x20match\x20control\x20points\x20length');let _0x1312fb=_0xa332d[_0x1163f8(0x85)];if(!_0x1312fb){let _0x51f253=_0x2b4f9f+_0xa332d['degree']+0x1;_0x1312fb=[];let _0x2d52a6=_0x2b4f9f-0x1,_0x2d45ab=_0xa332d['degree'];for(let _0x23d5ba=0x0;_0x23d5ba<=_0x2d45ab;_0x23d5ba++)_0x1312fb[_0x1163f8(0xdf)](0x0);for(let _0x22f37b=0x1;_0x22f37b<_0x2d52a6-_0x2d45ab+0x1;_0x22f37b++)_0x1312fb['push'](_0x22f37b/(_0x2d52a6-_0x2d45ab+0x1));for(let _0x17c2b6=0x0;_0x17c2b6<=_0x2d45ab;_0x17c2b6++)_0x1312fb['push'](0x1);}if(_0x1312fb[_0x1163f8(0x84)]!==_0x2b4f9f+_0xa332d['degree']+0x1)throw new Error(_0x1163f8(0xc0)+(_0x2b4f9f+_0xa332d[_0x1163f8(0xc8)]+0x1));let _0x1fd870='',_0x5ca746='',_0x16a325='',_0xc4e4a4=0x1,_0x198276=0x1,_0x341d64=new Date()[_0x1163f8(0x98)]()[_0x1163f8(0xd8)](0x0,0x13)['replace'](/[-:]/g,'')[_0x1163f8(0xbb)]('T','.');_0x1fd870+=this['formatGlobalLine']('1H,,1H;,4H'+_0xa332d['filename']+_0x1163f8(0xbf)+_0xa332d[_0x1163f8(0x101)]+','),_0x1fd870+=this['formatGlobalLine'](_0x1163f8(0x93)+_0xa332d['organization']+_0x1163f8(0x9b)+_0xa332d[_0x1163f8(0x106)]+','),_0x1fd870+=this[_0x1163f8(0x8e)](_0x1163f8(0xe2)+_0xa332d[_0x1163f8(0x94)][_0x1163f8(0x103)]()+_0x1163f8(0xf3)+_0x341d64+','),_0x1fd870+=this[_0x1163f8(0x8e)]('1.E-06,100.0,7H'+_0xa332d['author']+_0x1163f8(0x9f)+_0xa332d[_0x1163f8(0xf5)]+',11,0,'),_0x1fd870+=this[_0x1163f8(0x8e)](_0x1163f8(0xf1)+_0x341d64+',;'),_0x5ca746+=this[_0x1163f8(0xb7)](0x7e,_0xc4e4a4,0x0,0x0,0x0,0x0,0x0,0x0,_0x198276),_0x5ca746+=this[_0x1163f8(0xb7)](0x7e,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x198276+0x1),_0x198276+=0x2;let _0x5e8896=_0x2b4f9f-0x1,_0x10911e=_0xa332d['degree'],_0xc2ea2b=_0x1163f8(0xa3)+_0x5e8896+','+_0x10911e+_0x1163f8(0x8d);for(let _0x2bf7a6=0x0;_0x2bf7a6<_0x1312fb[_0x1163f8(0x84)];_0x2bf7a6++)_0xc2ea2b+=','+this[_0x1163f8(0xf0)](_0x1312fb[_0x2bf7a6]);for(let _0x287bc6=0x0;_0x287bc6<_0x3b6184['length'];_0x287bc6++)_0xc2ea2b+=','+this['formatNumber'](_0x3b6184[_0x287bc6]);for(let _0x53dcf8=0x0;_0x53dcf8<0x3;_0x53dcf8++)for(let _0x1c0b13=0x0;_0x1c0b13<_0x21a50e[_0x1163f8(0x84)];_0x1c0b13++)_0xc2ea2b+=','+this[_0x1163f8(0xf0)](_0x21a50e[_0x1c0b13][_0x53dcf8]);_0xc2ea2b+=','+this['formatNumber'](_0x1312fb[0x0])+','+this['formatNumber'](_0x1312fb[_0x1312fb[_0x1163f8(0x84)]-0x1]),_0xc2ea2b+=_0x1163f8(0xf6),_0xc2ea2b+=';',_0x16a325+=this[_0x1163f8(0x82)](_0xc2ea2b,_0xc4e4a4),_0xc4e4a4+=Math[_0x1163f8(0xde)](_0xc2ea2b[_0x1163f8(0x84)]/0x40);let _0x3f78a5=this['formatSection']('START',[_0x1163f8(0xd2),_0x1163f8(0xb1)]),_0x5aacf6=this[_0x1163f8(0xc2)](_0x3f78a5[_0x1163f8(0xfd)]('\x0a')[_0x1163f8(0x84)]-0x1,_0x1fd870['split']('\x0a')[_0x1163f8(0x84)]-0x1,_0x5ca746[_0x1163f8(0xfd)]('\x0a')['length']-0x1,_0x16a325[_0x1163f8(0xfd)]('\x0a')[_0x1163f8(0x84)]-0x1);return _0x3f78a5+_0x1fd870+_0x5ca746+_0x16a325+_0x5aacf6;},'geometryToIges':function(_0x3bdf59,_0x251043={}){const _0x3af77c=a0_0x1afce0;let _0x4be1ea={'units':'MM','filename':_0x3af77c(0xc1),'author':'js3d','organization':_0x3af77c(0xe4),..._0x251043};if(!Array[_0x3af77c(0xb0)](_0x3bdf59)||_0x3bdf59[_0x3af77c(0x84)]===0x0)throw new Error(_0x3af77c(0xb6));let _0x383052='',_0x40705e='',_0x136e6b='',_0x5b0470=0x1,_0x3f42b7=0x1,_0x39ca4b=0x0,_0x5c0fb8=new Date()[_0x3af77c(0x98)]()[_0x3af77c(0xd8)](0x0,0x13)[_0x3af77c(0xbb)](/[-:]/g,'')['replace']('T','.');_0x383052+=this['formatGlobalLine'](_0x3af77c(0xc6)+_0x4be1ea[_0x3af77c(0x106)]+_0x3af77c(0xbf)+_0x4be1ea[_0x3af77c(0x101)]+','),_0x383052+=this[_0x3af77c(0x8e)](_0x3af77c(0x93)+_0x4be1ea[_0x3af77c(0xf5)]+_0x3af77c(0x9b)+_0x4be1ea[_0x3af77c(0x106)]+','),_0x383052+=this[_0x3af77c(0x8e)](_0x3af77c(0xe2)+_0x4be1ea['units']['toUpperCase']()+_0x3af77c(0xf3)+_0x5c0fb8+','),_0x383052+=this['formatGlobalLine'](_0x3af77c(0x8a)+_0x4be1ea['author']+_0x3af77c(0x9f)+_0x4be1ea[_0x3af77c(0xf5)]+_0x3af77c(0xc5)),_0x383052+=this[_0x3af77c(0x8e)](_0x3af77c(0xf1)+_0x5c0fb8+',;');for(let _0x40c00d of _0x3bdf59){if(!_0x40c00d||typeof _0x40c00d!='object'||!_0x40c00d[_0x3af77c(0xa9)]||!_0x40c00d[_0x3af77c(0x97)])throw new Error(_0x3af77c(0xd1));let _0xa7184c=_0x40c00d[_0x3af77c(0xa9)][_0x3af77c(0x105)](),_0x5bb5e8=_0x40c00d[_0x3af77c(0x97)][_0x3af77c(0xa6)](_0x2767a4=>{const _0x552628=_0x3af77c;if(!Array[_0x552628(0xb0)](_0x2767a4)||_0x2767a4[_0x552628(0x84)]<0x2)throw new Error(_0x552628(0xe0));return[_0x2767a4[0x0]||0x0,_0x2767a4[0x1]||0x0,_0x2767a4[0x2]||0x0];});if(_0x5bb5e8['length']!==0x0)switch(_0xa7184c){case _0x3af77c(0xa4):for(let _0x389e6c of _0x5bb5e8){_0x39ca4b++,_0x40705e+=this[_0x3af77c(0xb7)](0x74,_0x5b0470,0x0,0x0,0x0,0x0,0x0,0x0,_0x3f42b7),_0x40705e+=this[_0x3af77c(0xb7)](0x74,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x3f42b7+0x1),_0x3f42b7+=0x2;let _0x19b288=_0x3af77c(0xdc)+this[_0x3af77c(0xf0)](_0x389e6c[0x0])+','+this[_0x3af77c(0xf0)](_0x389e6c[0x1])+','+this[_0x3af77c(0xf0)](_0x389e6c[0x2])+',0.0;';_0x136e6b+=this['formatParameterLine'](_0x19b288,_0x5b0470),_0x5b0470+=Math[_0x3af77c(0xde)](_0x19b288[_0x3af77c(0x84)]/0x40);}break;case'polyline':if(_0x5bb5e8['length']>0x1){_0x39ca4b++,_0x40705e+=this[_0x3af77c(0xb7)](0x6a,_0x5b0470,0x0,0x0,0x0,0x0,0x0,0x0,_0x3f42b7),_0x40705e+=this[_0x3af77c(0xb7)](0x6a,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x3f42b7+0x1),_0x3f42b7+=0x2;let _0x16d1de=_0x3af77c(0xea)+(_0x5bb5e8['length']-0x1);for(let _0x328ad6 of _0x5bb5e8)_0x16d1de+=','+this['formatNumber'](_0x328ad6[0x0])+','+this[_0x3af77c(0xf0)](_0x328ad6[0x1])+','+this[_0x3af77c(0xf0)](_0x328ad6[0x2]);_0x16d1de+=';',_0x136e6b+=this[_0x3af77c(0x82)](_0x16d1de,_0x5b0470),_0x5b0470+=Math['ceil'](_0x16d1de[_0x3af77c(0x84)]/0x40);}break;case'nurbs':let _0x5b46b6=_0x40c00d[_0x3af77c(0xc8)]||0x3,_0xb7e0d0=_0x5bb5e8[_0x3af77c(0x84)];if(_0xb7e0d0<_0x5b46b6+0x1){console[_0x3af77c(0xc7)](_0x3af77c(0x86)+(_0x5b46b6+0x1)+_0x3af77c(0x8f)+_0x5b46b6);continue;}let _0x573d77=_0x40c00d[_0x3af77c(0xe3)]||new Array(_0xb7e0d0)['fill'](0x1);if(_0x573d77[_0x3af77c(0x84)]!==_0xb7e0d0)throw new Error(_0x3af77c(0x102));let _0x84c464=_0x40c00d[_0x3af77c(0x85)];if(!_0x84c464){let _0x2357d7=_0xb7e0d0-0x1,_0x3b7b26=_0x5b46b6;_0x84c464=[];for(let _0x963c2c=0x0;_0x963c2c<=_0x3b7b26;_0x963c2c++)_0x84c464['push'](0x0);for(let _0x4c8e7b=0x1;_0x4c8e7b<_0x2357d7-_0x3b7b26+0x1;_0x4c8e7b++)_0x84c464[_0x3af77c(0xdf)](_0x4c8e7b/(_0x2357d7-_0x3b7b26+0x1));for(let _0x86bc6e=0x0;_0x86bc6e<=_0x3b7b26;_0x86bc6e++)_0x84c464[_0x3af77c(0xdf)](0x1);}_0x39ca4b++,_0x40705e+=this[_0x3af77c(0xb7)](0x7e,_0x5b0470,0x0,0x0,0x0,0x0,0x0,0x0,_0x3f42b7),_0x40705e+=this['formatDirectoryLine'](0x7e,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x3f42b7+0x1),_0x3f42b7+=0x2;let _0xdd5e65='126,'+(_0xb7e0d0-0x1)+','+_0x5b46b6+_0x3af77c(0x8d);for(let _0x370d53 of _0x84c464)_0xdd5e65+=','+this[_0x3af77c(0xf0)](_0x370d53);for(let _0x59321a of _0x573d77)_0xdd5e65+=','+this[_0x3af77c(0xf0)](_0x59321a);for(let _0x2a1d33=0x0;_0x2a1d33<0x3;_0x2a1d33++)for(let _0x3a792d of _0x5bb5e8)_0xdd5e65+=','+this['formatNumber'](_0x3a792d[_0x2a1d33]);_0xdd5e65+=','+this['formatNumber'](_0x84c464[0x0])+','+this['formatNumber'](_0x84c464[_0x84c464[_0x3af77c(0x84)]-0x1]),_0xdd5e65+=_0x3af77c(0xf6),_0xdd5e65+=';',_0x136e6b+=this[_0x3af77c(0x82)](_0xdd5e65,_0x5b0470),_0x5b0470+=Math['ceil'](_0xdd5e65[_0x3af77c(0x84)]/0x40);break;default:throw new Error(_0x3af77c(0xa7)+_0xa7184c+_0x3af77c(0xad));}}if(_0x39ca4b===0x0)throw new Error(_0x3af77c(0xac));let _0x19442d=this[_0x3af77c(0x8c)](_0x3af77c(0xa5),[_0x3af77c(0xd2),'Combined\x20geometry\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202']),_0x225d98=this[_0x3af77c(0xc2)](_0x19442d[_0x3af77c(0xfd)]('\x0a')[_0x3af77c(0x84)]-0x1,_0x383052[_0x3af77c(0xfd)]('\x0a')['length']-0x1,_0x40705e['split']('\x0a')[_0x3af77c(0x84)]-0x1,_0x136e6b['split']('\x0a')[_0x3af77c(0x84)]-0x1);return _0x19442d+_0x383052+_0x40705e+_0x136e6b+_0x225d98;},'readIgesFile':function(_0x29ec7e){const _0x5d030e=a0_0x1afce0;if(!_0x29ec7e||typeof _0x29ec7e!=_0x5d030e(0xab))throw new Error(_0x5d030e(0xf9));let _0xa0708e=[],_0x3a67c0=[],_0x9aea1e=[],_0x27ffd4=_0x29ec7e[_0x5d030e(0xfd)]('\x0a')[_0x5d030e(0xa1)](_0x381213=>_0x381213['trim']()&&_0x381213[_0x5d030e(0xba)](0x48)==='P'),_0x34a556='';for(let _0x47d117 of _0x27ffd4){let _0x52be2d=_0x47d117['substring'](0x0,0x40)[_0x5d030e(0x83)]();_0x34a556+=_0x52be2d,_0x52be2d[_0x5d030e(0xe5)](';')&&(this['processEntity'](_0x34a556,_0xa0708e,_0x3a67c0,_0x9aea1e),_0x34a556='');}return{'lines':_0xa0708e,'points':_0x3a67c0,'nurbs':_0x9aea1e};},'parseIgesNumber':function(_0x11ad9a){const _0x150e74=a0_0x1afce0;if(!_0x11ad9a||typeof _0x11ad9a!=_0x150e74(0xab))return 0x0;let _0x1cee55=_0x11ad9a[_0x150e74(0x83)]()[_0x150e74(0xbb)](/D([+-]?\d+)/g,_0x150e74(0xee)),_0x2a5b1b=parseFloat(_0x1cee55);return isNaN(_0x2a5b1b)?0x0:_0x2a5b1b;},'processEntity':function(_0x445374,_0x29cb9a,_0x5f36f6,_0x443a44){const _0x27779d=a0_0x1afce0;let _0x8eaebe=_0x445374[_0x27779d(0xbb)](';','')[_0x27779d(0xfd)](',')[_0x27779d(0xa6)](_0x1f9770=>_0x1f9770[_0x27779d(0x83)]());if(_0x8eaebe[_0x27779d(0x84)]===0x0)return;switch(parseInt(_0x8eaebe[0x0])){case 0x74:this['processPointEntity'](_0x8eaebe,_0x5f36f6);break;case 0x6a:this[_0x27779d(0xc9)](_0x8eaebe,_0x29cb9a);break;case 0x7e:this['processNurbsEntity'](_0x8eaebe,_0x443a44);break;case 0x6e:this['processLineEntity'](_0x8eaebe,_0x29cb9a);break;default:break;}},'processPointEntity':function(_0x276e4c,_0x30387d){const _0x93bad6=a0_0x1afce0;if(_0x276e4c[_0x93bad6(0x84)]>=0x4){let _0xd4973f=this[_0x93bad6(0xd6)](_0x276e4c[0x1]),_0x55872f=this[_0x93bad6(0xd6)](_0x276e4c[0x2]),_0x33ea02=this[_0x93bad6(0xd6)](_0x276e4c[0x3]);_0x30387d[_0x93bad6(0xdf)]([_0xd4973f,_0x55872f,_0x33ea02]);}},'processPolylineEntity':function(_0x3a661e,_0x47c1a0){const _0x5e065d=a0_0x1afce0;if(_0x3a661e[_0x5e065d(0x84)]<0x2)return;let _0x40c4eb=parseInt(_0x3a661e[0x1]),_0x46b7f4=0x2+(_0x40c4eb+0x1)*0x3;if(_0x3a661e[_0x5e065d(0x84)]<_0x46b7f4)return;let _0xf60602=[];for(let _0x20338c=0x0;_0x20338c<=_0x40c4eb;_0x20338c++){let _0x28895b=0x2+_0x20338c*0x3;if(_0x28895b+0x2<_0x3a661e[_0x5e065d(0x84)]){let _0xa586db=this[_0x5e065d(0xd6)](_0x3a661e[_0x28895b]),_0x42d8eb=this['parseIgesNumber'](_0x3a661e[_0x28895b+0x1]),_0x293a11=this[_0x5e065d(0xd6)](_0x3a661e[_0x28895b+0x2]);_0xf60602[_0x5e065d(0xdf)]([_0xa586db,_0x42d8eb,_0x293a11]);}}_0xf60602[_0x5e065d(0x84)]>0x1&&_0x47c1a0[_0x5e065d(0xdf)](_0xf60602);},'processLineEntity':function(_0x2d3303,_0x2a782e){const _0x108559=a0_0x1afce0;if(_0x2d3303['length']>=0x7){let _0x60b261=this[_0x108559(0xd6)](_0x2d3303[0x1]),_0x1aae78=this[_0x108559(0xd6)](_0x2d3303[0x2]),_0x2ccce8=this[_0x108559(0xd6)](_0x2d3303[0x3]),_0x16bf68=this[_0x108559(0xd6)](_0x2d3303[0x4]),_0x5a5438=this[_0x108559(0xd6)](_0x2d3303[0x5]),_0xf082f0=this['parseIgesNumber'](_0x2d3303[0x6]);_0x2a782e['push']([[_0x60b261,_0x1aae78,_0x2ccce8],[_0x16bf68,_0x5a5438,_0xf082f0]]);}},'processNurbsEntity':function(_0x13e99c,_0x23e782){const _0x1a2f46=a0_0x1afce0;if(_0x13e99c['length']<0x7)return;let _0x43da8f=parseInt(_0x13e99c[0x1]),_0x53c810=parseInt(_0x13e99c[0x2]),_0x181f7d=parseInt(_0x13e99c[0x3]),_0x1897e9=parseInt(_0x13e99c[0x4]),_0x4b6748=parseInt(_0x13e99c[0x5]),_0x205fb9=parseInt(_0x13e99c[0x6]),_0x3d0225=_0x43da8f+0x1,_0x1e391=_0x43da8f+_0x53c810+0x2,_0x470151=0x7,_0x263c00=_0x470151+_0x1e391,_0x463baf=_0x263c00+_0x3d0225+_0x3d0225+_0x3d0225+_0x3d0225+0x2;if(_0x13e99c[_0x1a2f46(0x84)]<_0x463baf+0x3)return;let _0x4d2758=[];for(let _0x7c91a7=0x0;_0x7c91a7<_0x1e391;_0x7c91a7++)_0x4d2758[_0x1a2f46(0xdf)](this[_0x1a2f46(0xd6)](_0x13e99c[_0x470151+_0x7c91a7]));let _0x1125ab=[];for(let _0x519764=0x0;_0x519764<_0x3d0225;_0x519764++)_0x1125ab[_0x1a2f46(0xdf)](this['parseIgesNumber'](_0x13e99c[_0x263c00+_0x519764])||0x1);let _0x2ba667=[],_0x54d5a1=_0x263c00+_0x3d0225,_0x2d9246=_0x54d5a1+_0x3d0225*0x3;if(_0x13e99c['length']>=_0x2d9246+0x5){for(let _0x35366f=0x0;_0x35366f<_0x3d0225;_0x35366f++){let _0x1e307f=_0x54d5a1+_0x35366f*0x3,_0x3c025=this[_0x1a2f46(0xd6)](_0x13e99c[_0x1e307f]),_0x419c40=this['parseIgesNumber'](_0x13e99c[_0x1e307f+0x1]),_0x30508f=this['parseIgesNumber'](_0x13e99c[_0x1e307f+0x2]);_0x2ba667[_0x1a2f46(0xdf)]([_0x3c025,_0x419c40,_0x30508f]);}let _0x2f1ca2=_0x2d9246,_0x14db6c=_0x2f1ca2+0x2,_0x38891e=this[_0x1a2f46(0xd6)](_0x13e99c[_0x2f1ca2]),_0x4c6748=this[_0x1a2f46(0xd6)](_0x13e99c[_0x2f1ca2+0x1])||0x1,_0x238891=[this['parseIgesNumber'](_0x13e99c[_0x14db6c]),this[_0x1a2f46(0xd6)](_0x13e99c[_0x14db6c+0x1]),this[_0x1a2f46(0xd6)](_0x13e99c[_0x14db6c+0x2])],_0x5309b5={'type':'nurbs','degree':_0x53c810,'controlPoints':_0x2ba667,'weights':_0x1125ab,'knotVector':_0x4d2758,'parameterRange':[_0x38891e,_0x4c6748],'properties':{'planar':_0x181f7d===0x1,'closed':_0x1897e9===0x1,'rational':_0x4b6748===0x1,'periodic':_0x205fb9===0x1},'normalVector':_0x238891,'numControlPoints':_0x3d0225,'numKnots':_0x1e391,'upperControlPointIndex':_0x43da8f};_0x23e782[_0x1a2f46(0xdf)](_0x5309b5);}else{let _0x49b48d=_0x263c00+_0x3d0225,_0x49635e=_0x49b48d+_0x3d0225,_0x194907=_0x49635e+_0x3d0225,_0x26e138=_0x194907+_0x3d0225,_0x187568=_0x26e138+0x2;if(_0x13e99c['length']<_0x187568+0x3)return;for(let _0x5ea2ee=0x0;_0x5ea2ee<_0x3d0225;_0x5ea2ee++){let _0x5a1f91=this['parseIgesNumber'](_0x13e99c[_0x49b48d+_0x5ea2ee]),_0xa56ba4=this[_0x1a2f46(0xd6)](_0x13e99c[_0x49635e+_0x5ea2ee]),_0x210e97=this[_0x1a2f46(0xd6)](_0x13e99c[_0x194907+_0x5ea2ee]);_0x2ba667['push']([_0x5a1f91,_0xa56ba4,_0x210e97]);}let _0xca8657=this[_0x1a2f46(0xd6)](_0x13e99c[_0x26e138]),_0x4706cb=this['parseIgesNumber'](_0x13e99c[_0x26e138+0x1])||0x1,_0x4ea68=[this[_0x1a2f46(0xd6)](_0x13e99c[_0x187568]),this[_0x1a2f46(0xd6)](_0x13e99c[_0x187568+0x1]),this[_0x1a2f46(0xd6)](_0x13e99c[_0x187568+0x2])],_0x477a41={'type':'nurbs','degree':_0x53c810,'controlPoints':_0x2ba667,'weights':_0x1125ab,'knotVector':_0x4d2758,'parameterRange':[_0xca8657,_0x4706cb],'properties':{'planar':_0x181f7d===0x1,'closed':_0x1897e9===0x1,'rational':_0x4b6748===0x1,'periodic':_0x205fb9===0x1},'normalVector':_0x4ea68,'numControlPoints':_0x3d0225,'numKnots':_0x1e391,'upperControlPointIndex':_0x43da8f};_0x23e782['push'](_0x477a41);}},'evaluateNurbsCurve':function(_0x22302a,_0x1d1e5a={}){const _0x1a2bca=a0_0x1afce0;let _0x2fcecb={'numPoints':0x32,'parameters':null,..._0x1d1e5a};if(!_0x22302a||_0x22302a['type']!==_0x1a2bca(0xcc))throw new Error(_0x1a2bca(0xe1));let {degree:_0x47cc8d,controlPoints:_0x3736c6,weights:_0x204aa8,knotVector:_0x461cc7,parameterRange:_0x4025d5}=_0x22302a,[_0x14318c,_0x102dc0]=_0x4025d5,_0x11bae5=_0x2fcecb[_0x1a2bca(0xfb)];if(!_0x11bae5){_0x11bae5=[];for(let _0x13a50e=0x0;_0x13a50e<_0x2fcecb[_0x1a2bca(0xfc)];_0x13a50e++){let _0x1bece0=_0x14318c+(_0x102dc0-_0x14318c)*_0x13a50e/(_0x2fcecb['numPoints']-0x1);_0x11bae5[_0x1a2bca(0xdf)](_0x1bece0);}}let _0x3de1b3=[];for(let _0x513436 of _0x11bae5){let _0x37373b=Math[_0x1a2bca(0x89)](_0x14318c,Math['min'](_0x102dc0,_0x513436)),_0x34f710=this[_0x1a2bca(0xb2)](_0x37373b,_0x47cc8d,_0x461cc7),_0x3c3ffe=this['computeBasisFunctions'](_0x34f710,_0x37373b,_0x47cc8d,_0x461cc7),_0x39365d=[0x0,0x0,0x0],_0x2488c3=0x0;for(let _0x1cdcb9=0x0;_0x1cdcb9<=_0x47cc8d;_0x1cdcb9++){let _0x1fc909=_0x34f710-_0x47cc8d+_0x1cdcb9;if(_0x1fc909>=0x0&&_0x1fc909<_0x3736c6['length']){let _0x3ce289=_0x204aa8[_0x1fc909]*_0x3c3ffe[_0x1cdcb9];_0x2488c3+=_0x3ce289,_0x39365d[0x0]+=_0x3736c6[_0x1fc909][0x0]*_0x3ce289,_0x39365d[0x1]+=_0x3736c6[_0x1fc909][0x1]*_0x3ce289,_0x39365d[0x2]+=_0x3736c6[_0x1fc909][0x2]*_0x3ce289;}}_0x2488c3>0x0&&(_0x39365d[0x0]/=_0x2488c3,_0x39365d[0x1]/=_0x2488c3,_0x39365d[0x2]/=_0x2488c3),_0x3de1b3['push'](_0x39365d);}return _0x3de1b3;},'findKnotSpan':function(_0xe23da6,_0x318be0,_0x347455){const _0x51074e=a0_0x1afce0;let _0x51444e=_0x347455[_0x51074e(0x84)]-_0x318be0-0x2;if(_0xe23da6>=_0x347455[_0x51444e+0x1])return _0x51444e;if(_0xe23da6<=_0x347455[_0x318be0])return _0x318be0;let _0x22110d=_0x318be0,_0xd9b78b=_0x51444e+0x1,_0x5f8a2d=Math['floor']((_0x22110d+_0xd9b78b)/0x2);for(;_0xe23da6<_0x347455[_0x5f8a2d]||_0xe23da6>=_0x347455[_0x5f8a2d+0x1];)_0xe23da6<_0x347455[_0x5f8a2d]?_0xd9b78b=_0x5f8a2d:_0x22110d=_0x5f8a2d,_0x5f8a2d=Math[_0x51074e(0x10b)]((_0x22110d+_0xd9b78b)/0x2);return _0x5f8a2d;},'computeBasisFunctions':function(_0x1043e6,_0x555c1f,_0x38b221,_0x1a14c0){let _0x28befb=new Array(_0x38b221+0x1),_0x19ae90=new Array(_0x38b221+0x1),_0x2280cc=new Array(_0x38b221+0x1);_0x28befb[0x0]=0x1;for(let _0x2146d4=0x1;_0x2146d4<=_0x38b221;_0x2146d4++){_0x19ae90[_0x2146d4]=_0x555c1f-_0x1a14c0[_0x1043e6+0x1-_0x2146d4],_0x2280cc[_0x2146d4]=_0x1a14c0[_0x1043e6+_0x2146d4]-_0x555c1f;let _0x5ab16a=0x0;for(let _0xef358a=0x0;_0xef358a<_0x2146d4;_0xef358a++){let _0x535a7d=_0x28befb[_0xef358a]/(_0x2280cc[_0xef358a+0x1]+_0x19ae90[_0x2146d4-_0xef358a]);_0x28befb[_0xef358a]=_0x5ab16a+_0x2280cc[_0xef358a+0x1]*_0x535a7d,_0x5ab16a=_0x19ae90[_0x2146d4-_0xef358a]*_0x535a7d;}_0x28befb[_0x2146d4]=_0x5ab16a;}return _0x28befb;},'simplifyIgesData':function(_0x2b8c7c,_0x12ab3f={}){const _0x178203=a0_0x1afce0;let _0x53bc96={'flattenLines':!0x1,'flattenNurbs':!0x1,'precision':0x6,'includeNurbsMetadata':!0x0,..._0x12ab3f},_0x4a86be={'points':_0x2b8c7c[_0x178203(0xa4)]['map'](_0x45fa76=>_0x45fa76[_0x178203(0xa6)](_0x4bf14e=>parseFloat(_0x4bf14e[_0x178203(0xf4)](_0x53bc96['precision'])))),'lines':_0x2b8c7c[_0x178203(0xe9)]['map'](_0x162d02=>_0x162d02[_0x178203(0xa6)](_0x5127fb=>_0x5127fb[_0x178203(0xa6)](_0x329d5d=>parseFloat(_0x329d5d[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)]))))),'nurbs':[]};if(_0x2b8c7c[_0x178203(0xcc)]&&_0x2b8c7c[_0x178203(0xcc)][_0x178203(0x84)]>0x0){for(let _0x399ab2 of _0x2b8c7c[_0x178203(0xcc)])if(_0x53bc96['flattenNurbs']){let _0x488e43=_0x399ab2['controlPoints'][_0x178203(0xa6)](_0xfbc79e=>_0xfbc79e[_0x178203(0xa6)](_0x373e3c=>parseFloat(_0x373e3c[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)]))));_0x4a86be[_0x178203(0xe9)][_0x178203(0xdf)](_0x488e43);}else{let _0x84d229={'type':_0x178203(0xcc),'degree':_0x399ab2[_0x178203(0xc8)],'controlPoints':_0x399ab2[_0x178203(0xcf)]['map'](_0x5211a5=>_0x5211a5[_0x178203(0xa6)](_0x2ea55f=>parseFloat(_0x2ea55f[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)])))),'weights':_0x399ab2['weights'][_0x178203(0xa6)](_0x3a12b0=>parseFloat(_0x3a12b0[_0x178203(0xf4)](_0x53bc96['precision']))),'knotVector':_0x399ab2[_0x178203(0x85)][_0x178203(0xa6)](_0x19d0c2=>parseFloat(_0x19d0c2[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)]))),'parameterRange':_0x399ab2[_0x178203(0x9e)][_0x178203(0xa6)](_0x175b14=>parseFloat(_0x175b14[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)])))};_0x53bc96[_0x178203(0xd4)]&&(_0x84d229[_0x178203(0xff)]=_0x399ab2[_0x178203(0xff)],_0x84d229[_0x178203(0xce)]=_0x399ab2[_0x178203(0xce)][_0x178203(0xa6)](_0x1e7882=>parseFloat(_0x1e7882[_0x178203(0xf4)](_0x53bc96[_0x178203(0xec)]))),_0x84d229[_0x178203(0xbd)]=_0x399ab2[_0x178203(0xbd)],_0x84d229['numKnots']=_0x399ab2['numKnots']),_0x4a86be['nurbs'][_0x178203(0xdf)](_0x84d229);}}if(_0x53bc96[_0x178203(0xcd)]){let _0x27f5a1=[..._0x4a86be['points']];for(let _0x321cb7 of _0x4a86be[_0x178203(0xe9)])_0x27f5a1[_0x178203(0xdf)](..._0x321cb7);_0x4a86be['allPoints']=_0x27f5a1;}return _0x4a86be;}};function a0_0x15f8(){const _0x5dcaae=['findParameterAtPoint','126,','points','START','map','Unknown\x20geometry\x20type:\x20','sqrt','type','acos','string','No\x20valid\x20geometries\x20found\x20to\x20convert','.\x20Supported\x20types:\x20points,\x20polyline,\x20nurbs','621552RnrijD','log','isArray','NURBS\x20curve\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202','findKnotSpan','out\x20of\x20bounds','At\x20least\x20','T\x20\x20\x20\x20\x20\x201\x0a','Geometries\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','formatDirectoryLine','1537732bjyeok','6499128QRmRyP','charAt','replace','totalLength','numControlPoints','Points\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty',',7H','Knot\x20vector\x20length\x20must\x20be\x20','combined.iges','formatTerminateSection','NEGATIVE_INFINITY','Control\x20points\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty',',11,0,','1H,,1H;,4H','warn','degree','processPolylineEntity','Invalid\x20control\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','abs','nurbs','flattenLines','normalVector','controlPoints','padEnd','Invalid\x20geometry\x20object.\x20Expected\x20{\x20type:\x20\x22points|polyline|nurbs\x22,\x20data:\x20[...]\x20}','Generated\x20by\x20js3d\x20IGES\x20converter\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x201','min','includeNurbsMetadata','\x20control\x20points\x20required\x20for\x20degree\x20','parseIgesNumber','42125FRIhxO','slice','\x20NURBS','bspline','degree\x20must\x20be\x20at\x20least\x201\x20(linear)','116,','fill','ceil','push','Invalid\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','Invalid\x20NURBS\x20curve\x20object','1.0,1,4H','weights','Generated','endsWith','3DwPylr','join','_gaussJ','lines','106,','dot','precision','137190ECmVSi','E$1','_uniform_knot_spacing','formatNumber','15H','counter',',1,0.01,15H','toFixed','organization',',0.0,0.0,0.0','cumulativeLength','scalarProduct','IGES\x20content\x20must\x20be\x20a\x20non-empty\x20string','toString','parameters','numPoints','split','segmentLengths','properties','substr','author','Weights\x20array\x20length\x20must\x20match\x20control\x20points\x20length','toUpperCase','3641022QrzLqe','toLowerCase','filename','isInteger','cos','sub','50SCfbqn','floor','toExponential','formatParameterLine','trim','length','knotVector','Skipping\x20NURBS:\x20need\x20at\x20least\x20','getFullYear','degree\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20point\x20count\x20-\x201','max','1.E-06,100.0,7H','padStart','formatSection',',0,0,1,0','formatGlobalLine','\x20control\x20points\x20for\x20degree\x20','forEach','js3d','5042793PyokFX','11H','units','solve','sin','data','toISOString','Points\x20to\x20IGES\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202','from',',32,38,6,38,15,4H','POSITIVE_INFINITY','swapRows','parameterRange',',11H','pow','filter'];a0_0x15f8=function(){return _0x5dcaae;};return a0_0x15f8();}if(new Date()[a0_0x1afce0(0x87)]()>0x7e9)throw new Error('');export{j as Bspline3d,C as Cspline3d,_ as Iges,F as Point3d,D as Polyline3D,H as Utils,w as Vector3d};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tomaso909/js3d",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "A lightweight 3D vector math library in ES6",
|
|
5
5
|
"main": "dist/index.obf.js",
|
|
6
6
|
"module": "dist/index.obf.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"build:min": "esbuild src/index.js --bundle --format=esm --minify --outfile=dist/index.min.js",
|
|
15
15
|
"build:obf": "javascript-obfuscator dist/index.min.js --output dist/index.obf.js",
|
|
16
16
|
"build": "npm run build:dev && npm run build:min && npm run build:obf",
|
|
17
|
-
"test": "jest",
|
|
17
|
+
"test": "node --experimental-vm-modules node_modules/.bin/jest --testMatch=\"**/tests/test.*.js\"",
|
|
18
18
|
"lint": "eslint src/"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|