From 23af865389ff16987033364c32a711413022b8b8 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Mon, 5 Sep 2011 18:20:43 +0200 Subject: [PATCH] Added transform-tests --- testdata/scad/features/transform-tests.scad | 18 ++++++++++++++++++ tests/CMakeLists.txt | 1 + .../cgalpngtest/transform-tests-expected.png | Bin 0 -> 16015 bytes .../opencsgtest/transform-tests-expected.png | Bin 0 -> 16911 bytes 4 files changed, 19 insertions(+) create mode 100644 testdata/scad/features/transform-tests.scad create mode 100644 tests/regression/cgalpngtest/transform-tests-expected.png create mode 100644 tests/regression/opencsgtest/transform-tests-expected.png diff --git a/testdata/scad/features/transform-tests.scad b/testdata/scad/features/transform-tests.scad new file mode 100644 index 00000000..a5916958 --- /dev/null +++ b/testdata/scad/features/transform-tests.scad @@ -0,0 +1,18 @@ +module mycyl() { + cylinder(r1=10, r2=0, h=20); +} + +translate([25,0,0]) scale([1,2,0.5]) mycyl(); +translate([20,-30,0]) scale(0.5) mycyl(); +translate([0,-20,0]) rotate([90,0,0]) mycyl(); +rotate(v=[-1,0,0], a=45) mycyl(); +multmatrix([[1,0,0,-25], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1]]) mycyl(); +multmatrix([[1,0.4,0.1,-25], + [0.4,0.8,0,-25], + [0.2,0.2,0.5,0], + [0,0,0,1]]) mycyl(); + +//FIXME: mirror() \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fa61db87..a869cdff 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -218,6 +218,7 @@ LIST(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/rotate_extrude-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/surface-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/import_dxf-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/transform-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/color-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/background-modifier.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/highlight-modifier.scad diff --git a/tests/regression/cgalpngtest/transform-tests-expected.png b/tests/regression/cgalpngtest/transform-tests-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..08cfce8989d967607e66f596342aa3b1f76c190f GIT binary patch literal 16015 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
    WDPLtX4}nb{Yi^-Tla3O-T0IoDgr zt})v1`52TdH+DYHju=;Wz{Sjc77;JLEmIkfY9+p51@-f(&auw_;(?)g zKzOP{x9svnLpP9 z5)nKD#AKmPnG5@4DYGtv3ZoX{-gUEa_@xQv)b+OI$-y@9ZN0I-b?bp7TxoZx1N!%g z&5~)BJ~_;5>t9_Y4v59@VcZ!kJ$NApK zPQp=Q?4`z|l?qfVevtX>nMZgrMAHF61bwlyD<8H*0@DF}oPL!YH>`9uf zzoRSk>o6I%Mu=GgWN^Db1 z_8mLg5bP+zdBwec9Yewezf>}U1&_-!ziOgW-1wBS-&vY}p#HZYS%~91U6}#~!W#P7 z{Wkf5vHnB1bYo)T0CFc$x(7UJ6Y7#56LmX&8@VQm5YNZ#aHRC@(gaGQ9rDAJFd6C) z&>H@8_q8oI(cSeD97WWILORLphX+`dzNp+fvVqKu-lU!%Ey?si#+_t-=f0O2v;^7- zh0ZC}`Tz3dBXu1&O0zkabqdTnGh-+fypc;>2His5K3_E$G=!3926w0SvG|x zT4tnuyMo@*LZZ70W>%*lm|o|q>Mjg>{d+3V0{oyrb^r3m9$Ti7(Q!7iX zp$;5!j`3A&b+lPZnHme99Ml1P#6l}?U#ZH;59?!`<$+lshy)76U1IJAN)I)cVLjFB8T@L7i^G*DKahHg$4TYo zG|L-n#Khmhx1?IGw#-GTGd?=T^e`lPMgH7xPzFmp+HKW+Bkc5k4d=TAE)sBu_&-dA z99!Vm3i%GS{w|%)weTlSc&hW)tO*xol{>c>w%i9Pm~)lm0s`JH^qd6M)rj69NDzI1JmzAg>X(gYJjWT;J&(; zDwe!q$T^qZ-FF8amJ$!{q^p0XfL(T_jjEI=R)GMo$#B|6pAm5` zTcOgIz7}#*C1BMY=~YyPxb)Qd3GaoR7>R0wt#^YJ4{hwL51)KDMyx6@#iE8iQ@QMt z$ku`E0fEo#)Wi!9Rk!ywBl|26`(a_%I;q2sjdInNFDpCl@@Ep*<05THW9=g~~Mp1-d5rFouBclL{`@996h^ zj^I}*jr#|lM&i1!6(MWu5<6JEr02MPQ)^F@sca(~ku4Kuo4`I*_3}}A^{(N4&!dqq zc2H|$CPC#Y)a%;_TwPt*2*FN<7i5U&60c9wjZ)r7v|kmbd*_lRT7*~kwLUS9U z&gA0<0G=0eH0dbC@Jv0##Q|SCp#;uh>D&S|hAB(vW);P*4lJ-M$jN(~J@vrb)vQ{d z`0?5!5n|wBpCztle#cmS{qc-Hzwho(R>83|5AGoq^-RC)m@h&b`T%Z zQO_&0Z5M4m^qr>HYule}PrHO~XV*(YBI>_<5lARPijOC>M3Ds9G!bUQ7G@|e(~TGp z67|5tX`f-qHtWGqL^A$?tX10HBz2GLs&LS-TbXCVCu%`P&?gc#7Sw|Sl{5oDTe=uG zwsbvDZ;K_5{A7CTPnMp(EU`B7Ok6{08}r>RmtbOJq6s!eG1Jtc#uwDqgSyId^djA(Y^?8q)5l7CFLE5n zQdA*!eChapbS&%&x&MByn2E~Lq834~&EMqR_Sc-2pfiOMK+o!3N8|Y!tr+%*=%rIk zEVp@jUX{iDQ01D<|2qIK8fN6=V6u@RuC+aPI|kQ$pyFzD#QT(O53l*W@nxwlA!j`c z+@UuNKa+S{6)vLAL3@gEs%IlxpJ*+hQDWGMlM&FC)a-E^Y>!cV5+Qhcg~cV7wqx^T z%EURv^mr(Pdo~(;BvUcEFQITxR*}Wv(eCG?*qxR@aGY$nb)JK1bDDE&+xK1P^@!{C zL_W6y6dT)qw0nUT5|ZRPnBua@1^USv5(LYw# zxUueyR;uX5uVy-4@%@G#!HVjK*cNv3I=z9vgX&0G-89*-k*Z!zJ`9j@_U8_@pr0NE zn4Qm0E6lbqYRfKOr(+K63CDOry*=JeAUTW}@o zVVbBt(|?D9KLfL=Hc2`hV0vxgNmkE|iCGDNkzN$dal^#d4kUz2zy~L{zyMFci3e&Q zslZayQ&EeeH|XzZ?zCKGGLJAO^kB`2@$D`|E8)D1ClIo!6?^YXo(!QD6#uT&!;k(l zNuHdi;eAvLA%I(yAA67*#;J9ip0~wBSw0msGm1DDKp97|)CH&VQWWQl9FP+K3fB%>GzstCjCBpdFI83z>MN`Dp$pif%r5~r|4)lwtE z*OLf?0?W8G{!d8vP85_SFj)B~aj_;n_>GsZ6rC3a48AFIK!n{PqEXX`NTfuQv93!#73ox>mE8U~m%G6hzk55Lzeri19Kq7v;6Gsc5;PIN#Mx0IGkduoCKGBDS zr#-aI61M=WcUs;*)5g1BHc}DBu+l0=+@P<2T&WWJZCRtV=;3*d9;w+j{2REu2zs2z zvM9&Jcrgy}Gx-G}4D&M69G${k> zF*mw3jfMzZ;B%Cojy}HAUO>q=@eup$n*(cV}+G4P>DT3ga!F zvV44h1uwB3X7sAPn`iCik2zMkFH!$MN>%7lN>luaEjm*#Kd1`kBXNr|esXU|Z9JPi z>^M#hZg{4SSUy=9br0D(^g}=4aYW0}Pi|6}o^l~P`J6P`PAcaSKIC~EG(WR?k}vI@_ei|6YF_^tXlzF{zsUsyi7BU; z12Eb&VBZQWBv`A3n-tOYQg50S>gyu z=~a8;2+Tv<^A^ccdSy3dQ3I;u!VI55^(X?=11bZE9i=dTmcO-c*VivTw<9X!++35_ za6!o7+ebebcfUTjm@t-uub$*eWBC}dE8TskEQpOgGK)holK2a1NVHlSD)aoEs^Dsz zQy_d+%=IgL0!-46!SgQ!Z!Ac;pNgTwG}H8p1MZXbtIBML53rW#zY>z8fnZD!J|d5TvdG`=Cd0gG8@4LMcI3XrHacEgCK#dkJ`H`*H=t`>lccfzG6>O>;E3HFtjMl)I*SWP;Mh~mJ*cZM z2iIJ%3{>UUh$8q?_01CnuB6!doIl4z{}KBG^V2aNVM2d}$Lmt_2@E1N#4aFI3%G(t zunwTBDKg(PPw)n;&APbW*>x9!N<_D%#oYI)Z?my-aGy8hPFFSW`5KxgWS!RsNl%)V z!=HuUgooPdUoJ#l*^m`vFgwp^1ocf!I%-PobYjN4Ihvp$q#b5{Tv;Gme$En+^tqRtT*UadwxiXl*5w4C&@D#-~~a3 z&rYdnXX&o2q>ml{wv;bT<3XmPZ1@A5T|<3yAMK@m=^QS#&!@wOu_ZCX4ac$kR@-tX zLe4cDZs%x6KA$G49~peOIoqu*ucyV0OyH$Wd8Bcl{zNQO$YCla^Y~kaPH$08pB3<> zYo{GI9~(17Zl<-nYuLD#aX)M~-#yUAx$ekSXmz>t^&$O3+L8Q0EONNLJ4w*ZSAX)% zG`lp{ySqaV5+?)qJYNBJ5?sEi4=ak=nx7|`S!FGZ@o;rPOZM#){r%#D)^UQ1BQme<`QzX&y#AMR~bP!5jOBh_j9 zFMqw)(@m$iWzL7Yz4`^?u}L3W*U-1Bxv~AQX6W9cN_YBhspo zYa$fwR5n-qE>n1t4Q-o+J$x;#XEWxWDGdGer;n%i&3C%Mc>*k7fLd2lOSHk*fEgs* zS`rt~b6g?X8;@^0qEDs#Lcs(fAxnKeIRH$6;C#?5ng+__Mvkow}u z#LcbL;I*gJDDqiuziG*Ts_Y z9+1vVJ}Ek1USa1A$WB5r*{^V6U^==DfqLEmFAm0}90NUU$>}N)uE; z9RvG9P=3JIt?$5ZJ662`2YZoPT>k|6ZcE2&@o zqKSm#c&;`OY8Y(+z#V9aI0lk0XL#NS5Z<+hD}ZLdo=?r*#1kvpA^;>W#3l-=-O}%l zQXTE$QP7ZYIP_NdRH6K-aAVM9UM9eIV}U6o{?g!SN!yE7d=`0OC~Y2RaxX66$ViT(nQX5Y@<&m6VNLP-I`L zkxQ*yu^u3)t}t$$RE4txqQcfqoA3^<4Gv7i&1sf_89onuxfa&5NuQ zfObeSa#liorV8-^t%<>u25& z&exE41>n!2t(E)_RkhsF~tG86`8~yt@Y<%fhomS6Kf0ow7$M(^bWEla8kn8=Gh7+>juQ)2brpl zFz}aWXhre;cVI#B@Kgx7Ve=C;^0Ha^dFb<-eGOSnK`=bcUR((#ix+xF&b(nYJcxZN zy$iw+*?Qw2Ay#i19gLz>DnLEjpUb7^^f6igs$VhDa0;FFH(-f*P95Ju1)bnyba)iA&U*Pbei41&xc=+ApEPk073 z^Tnw{bk>QhFTyc)5chWXUYLloU4~B^<*Flo?W-H7d|`{`!~oMFiYn6K`Jkg0^3?!t zwkEsg2-??P=V6?%pc}H8{I^YNOq8%Co&E$sDnlNS5q&O6XKHPOYHdN$bx5T`K8L=P z1jQRR{()ZlxI)+`>e8?{eYi2Srq~&VI1JGlBLgH&$a-Y@S-g0Rf#x{S>?eNs&?DFI z&2*Rez&l6%QJ83ALL}`5>)dnN@DFtL0JcQw)g zna=c;9x%jlXftR)qs{Q7mc-G2R|B7kLKUdt4>>dcUTi~q2s|!i{%0>%5GUp4dM*F% z5zaya+Wvd}-}OOEITRl56(l75yLZ?MS>o(gjyw_y8~31H{xB90fV>TzqzAxSXY}0v zT~z!5DePH>vN8)q^#8pu9yp=$(2xHgQ7Cw!6NM`Nt#tyLyg2u0c~S8n(JK%Wg6b~+ z);b4GADXWA|Mvbz^#7a&PocF;FG5QGZv+2n;6D@k&x!wwLjNDbC{=xyTd`|QRKfuI QM-PC3j#0zFYT2><{9 literal 0 HcmV?d00001