From a79f2ce5ee3dc0b194262a8d6425f9b4fc78fc67 Mon Sep 17 00:00:00 2001 From: kovacsv Date: Wed, 3 Nov 2021 18:08:17 +0100 Subject: [PATCH] Add hierarchical 3ds test file. --- test/testfiles/3ds/cube.png | Bin 0 -> 1681 bytes test/testfiles/3ds/cube_hierarchy.3ds | Bin 0 -> 3072 bytes test/tests/importer3ds_test.js | 83 +++++++++++++++++++++++++- 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 test/testfiles/3ds/cube.png create mode 100644 test/testfiles/3ds/cube_hierarchy.3ds diff --git a/test/testfiles/3ds/cube.png b/test/testfiles/3ds/cube.png new file mode 100644 index 0000000000000000000000000000000000000000..768f7e49e926967a689dde8c322d085dab36ac5d GIT binary patch literal 1681 zcmXAoc|6pK8^^yCid7Q1w^dRxo7LtHt7sx6%A%DkR;&6gJNns@l2pq|l*ScuZ?24S zB|>gy+_xe*2f4BsGv>4Q_j_Ki=l%IS|3B}bvuDVn!m`2yL5P~3G`1oLzKu%!uw~N* z-`%qd*$6(075NyE(=5;0I5xW*oi-u}+G7!}vj9QxpEzrN-h_z2j#zyC0$U>?9t(vR zFwDUN1{x=^$i~L>&mpE0TA6s#hMrjrE}&xu1w%NV3zbyl4Ptf$pBC}74d150uO3xn zm|sQjEFwEVN<+o~{$S$Qceq}ITlGljhIBl9>oB$iHW!^U@Na;`b1bmoQ-c#UFsG2% z1K}u)e!<;F>`R704mj)B6$ffNZq!0721z|oPDcI^9Ns`X6Kd(OFTsa-C?-PkIrt*L z9|5OQ=w{(+B@U!u@^7?GBc&I)AE25B0V=A;al0O((fFkTk6Tgt3H1|jFNfW0r1s(a zmv}n@{cI%n!nqW88em(D^nUcs!88xsWAIl$npkL?hD|XZG7!*+vJp%zBd`gX1K1LY zRW7pM<9-ud%5d=wwnbxSEcU0soQ@R^tO}9y0a9@|_6lLG_`Mb_Q=kpvt7x>(U~U!k zA;fn>Clg1r@o@nf87TaS=Uq6HkBD}>`T)5EkZA~SMbSrC6rgw*>paNB!;Fraaf~m4 zyAG3F)J>pr6hjM`Siz1&@bi4nD6yBnm&|U}gnT9ni}{5EDNZ<4`(Y_T#rI zu>QuTXXyG21`ETBxK@egDR@=EyBZ^3pqYVFbU40&QZfXoIGSkLw(((GJx|(E2x7n3 zzsnc#i=_-fZ0a;MHah>i!{=U(jij}N(0rxwWW?4)u>&44TkhAZ)~_T>Jo>6N1Qj0bH3~Del3j1%uzM^3O6jf!0<}L41I1b-gn~tbSeL( z5cOK=|ABJHRBoQg#LK&^H3jL2aP|wzY~n*9dg4NTSk?@gq8%ouOVXNC?{;AeRFR#8 zgvp^U$6YHfyRy8NM{5JwH2EO?;f@h)F%?;W*e<$8`B=~nTI(u?M0y=K zLOW`1<9Xm*wA2Gro}`41jrIDG;287KD+xg*R!@_P5*Uf~5#g4-r`?YKEc>LxonaoU z!Lc)Jpj@rftaD>L$|xa?PM8$5-cm}aGi0je@&qKL?2mp<%>Nf1$*3$ zEEWx@sV`?-Nb7rTBdB<>f>td)@mr)IU;C@Py`AsA4IPh4c~($+cyz$_PZBw|xtw$5 z>dDgC!&A9NCHfvp{*+2#s;ugQ;*lZeo!gGf3@>JeCjJ_DC)`1DmuV^M{ZAwf;d#X$ z=~UZ$_DdY!SOtL;GQG3Paz=qFoNC>iJ;rD0B4NO3yv#S~c8ZU6oz&G`o~|Ex(`0&H zX0)#Lo5>0zdAV{zE-6&7U4hi4>GI@s*1o}^(i=@eZa;;0%U2s1H#_PpIr=}g%@}sg zr=}Y3AJpqyR@d9p*X;MHs6pz*-Bc=63Tf2KOL}wHUX4rMuh!gLwTI2`O*_9PVH1!* zqel0)wG}u$bmZ51klovUYK=G0rR3n>Vy9y56fD~<`^a%sGK?1}rV^5&wo|Rbo2q+B z{oa(rXlUG<@9NHO`_%CI>8i>C|1GAK+fL;}1=|WozbbA6}1(qpSu? zv! z+j82zaMALFVNG+Kt4zyE`hTtCc+TXN?%geczIO`Kx$=(UW_iSf*A5>eFX3{sh(V1- zRt|Z_oB4f`9d|Rai9~tUE}{Lo2l!nwKqHH_=jrQnwGMK$874kDfOz; z-Qv6(jTcXxY}r#JJwu803p!Yig^5bpF}AAPx?@RZMcQrdCadVQa*lJ)|1JAhHEvPB a$KAVjXNB0BeB-_$Jz;8c#yIDgQ@}ss3CIWl literal 0 HcmV?d00001 diff --git a/test/testfiles/3ds/cube_hierarchy.3ds b/test/testfiles/3ds/cube_hierarchy.3ds new file mode 100644 index 0000000000000000000000000000000000000000..15263ee18451c877ef6ce0c4b41e8c50f8a5830d GIT binary patch literal 3072 zcmd5+J#Q015Pkms;LA>gM1>4k6cp$nh|cjHqyPz{5CZ~) zrYwAwFH&euc|Q*=V|@D(-P;95=V*2I+Wz(TZ(rllNIov1IWpnE;}G@hPb2g!I(-qL zml4_>N$Qlg1zihXSUGPOJT9 z&p%QUKwy#}IQb;t{^HZV%clW&hlC}s$9&|0^bf*SmmZkG^L#d5b{lW;tbO2m_rl-d zX5u%^4vFP*!(Glr`aIV{zlfXzyWVZt^cNb0N^Y2xX}jY6=Ara+2GZIM9K_F(=XqpspUS$yGU(jhSXG|Q~I~$UdNNZ=(Obh zCt33XJ?q+|Uz3ccQ`im@q(6?RE96;Ja$N=w?%&ziYNE$f^GYU;2#^JUMAmk z48FG(@|DUii|^mY%aCvE##{U_gt&<7F0;_t*+OSlyYX@{_%5#R@ibmO2H#a^yh04V IC)Id=0OR#1hX4Qo literal 0 HcmV?d00001 diff --git a/test/tests/importer3ds_test.js b/test/tests/importer3ds_test.js index 8d1f5fe..48d58a8 100644 --- a/test/tests/importer3ds_test.js +++ b/test/tests/importer3ds_test.js @@ -97,7 +97,7 @@ describe ('3ds Importer', function() { min : [2, 0, 0], max : [3, 1, 1] } - } + } ] }); done (); @@ -160,10 +160,87 @@ describe ('3ds Importer', function() { min : [0, 2, 0], max : [1, 3, 1] } - } + } ] }); done (); }); - }); + }); + + it ('cube_hierarchy.3ds', function (done) { + testFiles.Import3dsFile ('cube_hierarchy.3ds', function (model) { + assert (OV.CheckModel (model)); + assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), { + name: '', + materials: [ { name: 'c_tex' }, { name: 'c_red' }, { name: 'c_blue' } ], + meshes: [ + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ -1, -1, -1 ], max: [ 1, 1, 1 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ 2, -1, -1 ], max: [ 4, 1, 1 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ 2, 2, -1 ], max: [ 4, 4, 1 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ -1, 2, -1 ], max: [ 1, 4, 1 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ -1, -1, 2 ], max: [ 1, 1, 4 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ 2, -1, 2 ], max: [ 4, 1, 4 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ 2, 2, 2 ], max: [ 4, 4, 4 ] } + }, + { + name: 'Cube', + vertexCount: 8, + normalCount: 12, + uvCount: 8, + triangleCount: 12, + boundingBox: { min: [ -1, 2, 2 ], max: [ 1, 4, 4 ] } + } + ] + }); + done (); + }); + }); });