From 534c7650022bf3545b64166bbaeeab6db16965b9 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Date: Sat, 16 Mar 2024 20:29:38 -0400 Subject: [PATCH] fix!: improve performances --- README.md | 77 ++----- benchmark/benchmark.png | Bin 133135 -> 157221 bytes benchmark/benchtest.py | 92 ++++++--- cmake/CMakeLists.txt | 11 +- modules/core/CMakeLists.txt | 1 + modules/core/include/openstl/core/stl.h | 25 +-- pyproject.toml | 2 +- python/CMakeLists.txt | 2 +- python/core/src/stl.cpp | 255 +++++++++++------------- setup.py | 12 +- tests/python/test_stl.py | 27 +-- 11 files changed, 223 insertions(+), 281 deletions(-) diff --git a/README.md b/README.md index 2e980e6..add45d6 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,12 @@ A simple yet fast header-only library to read/write, serialize/deserialize STL ( [![Python](https://img.shields.io/pypi/pyversions/openstl.svg)](https://pypi.org/project/openstl/) # Performances benchmark -The benchmark results indicate that the performance of multiplying OpenSTL triangles is comparable to that of -native NumPy array multiplication. +Discover the staggering performance of OpenSTL in comparison to numpy-stl, thanks to its powerful C++ backend. + + Write: 2 to 3 times faster than numpy-stl. + Read: 1 to 12 times faster than numpy-stl. + Rotate: 1 to 12 times faster than numpy-stl. + ![Benchmark Results](benchmark/benchmark.png) # Python Usage @@ -21,17 +25,15 @@ native NumPy array multiplication. ```python import openstl -# Define a list of triangles -# Following the STL standard, each triangle is defined with : normal, v0, v1, v2, attribute_byte_count -# Note: attribute_byte_count can be used for coloring -triangles = [ - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3), - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3), - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3) -] +# Define an array of triangles +# Following the STL standard, each triangle is defined with : normal, v0, v1, v2 +triangles = np.array([ + [[0.0, 0.0, 1.0], [0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0]], + [[0.0, 0.0, 1.0], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0]], +]) # Serialize the triangles to a file -openstl.write("output.stl", triangles, openstl.StlFormat.Binary) +openstl.write("output.stl", triangles, openstl.format.binary) # Or openstl.format.ascii (slower but human readable) # Deserialize triangles from a file deserialized_triangles = openstl.read("output.stl") @@ -40,59 +42,6 @@ deserialized_triangles = openstl.read("output.stl") print("Deserialized Triangles:", deserialized_triangles) ``` -Notes: -- The format `openstl.StlFormat.ASCII` can be used to make the file human-readable. -It is however slower than Binary for reading and writing. -- `attribute_byte_count` can only be written in **Binary** format. -The STL standard do not include it in the ASCII format. - -### Access the Triangle attributes -```python -import openstl - -# Following the STL standard, each triangle is defined with : normal, v0, v1, v2, attribute_byte_count -triangle = openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3) - -# Access individual vertices -print("Normal:", triangle.normal) -print("Vertex 0:", triangle.v0) -print("Vertex 1:", triangle.v1) -print("Vertex 2:", triangle.v2) - -# Access normal and attribute_byte_count -print("Attribute Byte Count:", triangle.attribute_byte_count) - -# Get length of Triangle (number of elements in buffer) -print("Length:", len(triangle)) - -# Get elements using indexing (inefficient, instead use get_vertices) -print("Elements:", [triangle[i] for i in range(len(triangle))]) - -# Print Triangle object -print("Triangle:", triangle) -``` - -### Get an efficient view of the vertices -```python -import openstl - -# Define a list of triangles -triangles = [ - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3), - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3), - openstl.Triangle([0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0], 3) -] - -# Get a view of the vertices (v0, v1, v2) of all triangles by skipping normals and attribute_byte_count -vertices = openstl.get_vertices(triangles) - -# Print the shape of the array -print("Shape of vertices array:", vertices.shape) - -# Print the vertices array -print("Vertices:", vertices) -``` - # C++ Usage ### Read STL from file ```c++ diff --git a/benchmark/benchmark.png b/benchmark/benchmark.png index 1fd44446004c1688e716742bf1e92a0707142ce0..4d240de40f1d9726a2463837244a41c6fd286bf0 100644 GIT binary patch literal 157221 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
;r7UC&Wsp<3WuKVj z?6gkMjHN_sL&xOPkHw7dlHKPDU2mJzXnr8Mpu@oUxzKwjUD^VTH`*CMoj2#x!=ZK( zp5O*CE3ic_Xt_uae~)^oUaJ5$qP>TCe2@r5hBTIhjh7)MR;e))0bkVq z-h15+?RB9X>$h&&#=x-mYzg%V?{n)RIZSW6uU8Q-wSnfw8P$ev*`UkMtjQOj9~m#_ ztj?a>*UH3lynpQ`n^%Jq*N=bbGk{61=rL&cWStsy!RhlJYZ-BIbEfCP?-$=s9-LL? z|KsUL+qfb;sneh2zQj{WnqFliY3=Jo`!WXwCW~#G6rIs#nzir%(C!U_qlY@kSvfxACjGMdphd9w%j+qS-#L z`u?#ASW;stx>etn^G?sLRo+=r67wVG;5B_55JT&ccdU3FFJf`H|jLyJaZ8&$!`p*x(S+P@Seo#)- zZ6V$R(e4>spdbwu`s!pd7Gq=KJpDoU*y7!FDC!fnOWLjD&+-Z1CgGp^erh_8B%`A& z&TZ`KjU=_>mp@d6*Z_G!r7Si(`lwO!LCTr3ZuO{#j3IY}4%u~X-Kn)rv|onC@PXaG zhW4#->^Q#Rc&X@JSrY6fw(%~mwmi9IYK{39p=?f7n^UVnziYV*e;sCj0}C;si55!5ZaW25)yQsy3s?+dqo-Pp`V`*mi`R&c3u zOuL|R(@W~I;3P%$9bQ6)0YN+l>)V}3p=F)xK6JeV$q$_udS`g6R_LoZ zhy3QYHU)2(n7Hm?CuICemv14*{(0bbad92n;mb<`qqno9Q>m2oI2{*`J)Hnr zj?D|nxE%?->J<8>KA2ABVX%O5oQlLYsZh3jE|X@Z7#qH3;Uli(g)VE`sd-jSY7`x#q$gJmc16RWrI0@TQV5pbU>U5Cd=`5w|&ewnG$JFO-U#s zKf^K0)QlM!i&|Rwz~c9J0r*!CGbtYL)~T={00r6hYdFLn~WzG;3g- zi__rYKi(+g8y0j*#d}SIne%10$#$lbI%|);aLDAF(aU}@h3>QEEXxkMof=sx$NLHj z#(M+d^+;=~m9tyWz16CEvyPogk10g&fJwiZx@(Qtrai~sl$S=$bhl`CeY^GWXL6Xm zWm%VtIH6ZvDrc1Xz`>VbmNz)4Hgsg1(sdj8#LSn3Qr602Ct04l3Y?Xi`p`?8-c@>$ z%C`*86LzR_aOSCn&4dKaEip`ya4thpzc2t;*lz(ZS}rkidI*}tAOeD`Hx1S{mw@CB z0Duw^Boc9xS|09dEpbzXDVWGW`gn5_kA|v^RfMtq+n}c2nePaMSZU{t&$;m*DIj9j zLRPgxNID+vx&bbiL4IQ%d8>l~5N|+O@GZ z6Z`gfnk6uY{JaEvlUlQAl{>-qc)3Ynf3^8}v9^}+59l5mYD{=fj1>t7CFT&Ptp^ogy`I2gb-$+|-AP#~*q?DJ^BZbIj2F9 zAR2FkwG-2+_4~zM0Dy^}rmnUFltmDZK?HA{9t;g=AFRvAj~-nQ&o1V}^X+S^VkrGv z=D<0^m*EHLrSCv|g$GaDR|vjiMr4^$BKVq>s}KCKcJ#YKA91a3%4}aqUw%f$c}pOj zl|8{ZK<>iHMh5i@Pqd!YrM*6LRbFoW!Gq(CTH`SWS6PUvh6?$W+Uqblj;}LrzH~0%+4N`JkomFW z{hA`mVKK82JcGdveh0r9#tGtfBX~2{IJAAFxYu^Bne%2>4!`|=#ZcZfDlDbRg1r%6 zXWXn^+nkdiKJ=ulDt8nQ3ql0_+7mQ$UjxoUKzkPmL@`8`-i%L4i18vRIc;~NmWwV@ zautVF80UagJuEC73Q{eJALBHrdxwdEB}R zB;-Ya?wbikcTZ`a+(1j?6#7pcSj&hMDVQ)^VeusLJNJNNh5$_h^+zz?(A!KYMOG~D z7f+fp==ur21i{=QIsky2Vqs~P8jN$Q0ccGwns2c)>izE(9pP8R+<<6=5$E*Fmpjlq zBke#l9Me%w-1dge#Dol%h(l@3@_lh)qN3mbdKb0hBa_AyejZ5=La$t)%bIrPb~JB~{y9g0Znb17L+H77OuGIRfZZRQ#+SG$zJ z<^BTg+XfWseR&cIu2J$~7q`QbUgm8gdv+ZkpP!3jbWA0N$yxqeLTJ@ThGxx-H|P}S z?30h1eavo_SaZBWB3h~0=mt9pp(a|tbnggo6E<|I;Zuxh-uneyYBQTG)G7@O!begQ z{iW~B2mYE|d!cvi=Pk4O$<5Sp(8VA%#2g4IE)hrNiWHbEZJfIQ-^)dd-I!@U5 zhy(_yYLL1yuRjS`txu?*@)!O9M5BUApp+-TO(f4rz4`=`gF#cuNg`$oHg1C75S>;D z9~M0uTcv3e1~nDn*NS4wPfUr4WBwjPeXrf_&z^PX&b86Avi>H}!dQ&PlKrno2MF^t zCjDozM1u>N=Qe_=X)rSTh=?v|Eno4N(O$RbaDi&nUJF{_4#L}wWhg$4mQf~%NI=2- ztr{n6LIVN2(<4CVI5;ToqJIz0!0)+V5auR`5IQt^A>WZDLqbMI=FeFv5n23=(`uR# zSIm_h(wYw6*3}*V#_YE+{QSsu!7l=gjIPwCiHF2Yd)|k>(Ur6t+DB96FWY(dsBiYW zG5f(5t=J5EHm#P~P2Tssx%FKe0}^}~DxDUidMXPf*{^Ybnd@KIoOUfFNbDk?hN;tE z5NU>V-UCl#%;-D?;fa3$79gfW2*~!tQ$`pN@sag7_2afaf-EkgVYh(X!v~?ET5%(~ z`ubBaWB#23jW*)h$*=Ty2;@~&4SAqEzn1D!TMr#yYlqVVKIM<-r+wlO&qHH?@EegJ$aD|H>O^BUN!o~xP_P{b z0wSE4vk+;x7`YJ2fK)?Qg7$!h6uy|P=kLt(c}Dp{rx_Ac=q z)mWCtDF18a#iq??nkT>d89q3y?(Awhl9MR!#y1hDce%lTm@Gk&$ltU-m_RHJT89p$e)8Z~h!{ZDAig#ojyB?z?u; z?7Q-kn&!Rx?-CgTjYxN@tj~^9)wOTWIGr=IA8~B$;M)o2=wD zFY?db-?Lj{lF>7)jFZziupu)ergq?kwO~U_=))Du3%cmuRM?!J~z9P+M^jyHcggd;>Gl- z*GXDc?3Gj`QzPNi1!WWIlpYlmhPiiUZWg=kBOG%;(DAV>SqPv?Rvac;)mR`fwZ1Ga zjtAq~s*AP57qnl?Q0)x2b$l?W#SpF-(>LSEk(SJ4rI8O$znz~3>k3~(4|9E<4btY2 z7PLSFXS3~%tlS6tHac@o;fFfDYft6&#r5W_VDR& zXFtqUZ!sEJK!T;X&267w_Es*b%HSyZ-;0d%QwUpLK#E03w2;c1s}amBf#SM6+nQG5 z5rwaa?i2yC^QJHm-tsEuhr{4dX%g{4z=n?D{`=*PG;hHBBj!k0D*$ijqGP>LB?FW) zQAoh2e?Gj1|M)+$+r^SM-2++n)lp($;uV({nhZ;N} zHQ?0#vV*{%VLw}sGMsM@Dq|Lb%AvZ+5O1SwTW@%=5nqGn? zIDkHzunB3SLWu?PFl3wv*}QT>1tfg};$UPZSbq$aWC<$KvBXuBfB4h?g>?ucmJoE= zEGw3c>^l1xPq48^YKMC+kL9iLt*8m{Q_(tor?}@drYU(g_1kuFFPaDUHvD?J`)Ueb z*0bmRH}~4M6@FYY>z!D-e{HHveN;6ku>Zrx_d~-n4l#*N*}7&656C|Ua6b20U*=yp z+0!lX>Xm@n`$arE8)?cI3^0xZ5}%G>8}qa~zCcA}m#wP&^2Uhk$F5&A&xV9NvsGJ* zGe*03=cms~3_kR|@RQvB7V`d!Z*t9~;Geb<2hAkNA{?Jjtvg7kpE%Hc z{Qk;)d$UgtIv!t-hF{(MKZSrQ_JvoQUOldfX>2dK`#_g(Nmlq;Z<^Bdoif7-Ki072 z60IK>)%?tZ( zi*r0}GbeM#;tzzJtt`$ELZ*!Z_UU61-hqL{6b2xN4;Gb+Jw!=BY!A?A1_sh8yCFAW zC!82qr-qgIIvp5)tF}4}^+qOAr!{X~JIK%LbSims`B9-Wnlf66B$u8g#`5|zl;!Is z_pFidwB2%ermCwHd)J%(ygh@fEoEVa%0vD7Q>(MPOlgI^1k_sXFE%T)UZQuL-kr0| zp{`nhd}+Um3Ewou27SZV)cl3@*33~YrVS3mSuRXJ~Txx<9}CEe)4y|J;yHa!dH z{^zA>g zGnmX@G*`hf32qAAlwf1!bjb*k>7`BF% zT@7RIB0N^afFDw{%(?}1F@9S+{r1`3uc-frpF(h-dIH;j_NcCz%_!=XmX|aO^`@pK ze7rHg`SrtVo|~QDF6^-qACkK$?BYE0vFW8mSxtv;Uvf{6pYEvqdsR>6=F2WwH@EIz zwzRafzRt^|#pzeIIj?_qzsUQ=g`%yOC6i;56GW3{gm2vN>lsD|)!|e&b6QY!J&)Fm z*Q+<}V2e#&E1$JPCazt#w^+AR9M+s3Ea-Ze_Y=Yh6zqYFy_i59<>X9mnnY}-N#!lJ zlP4$6F%O0edJ4r<{r926YXOF1$M}L;c2aYfkCJT?`(FQQ@?G4A4g_Qtacq#lj$D}Ojs0?sx~5;k3cm|pgB_32(<%b zIW&+9ZX`}HL>?@1esS6%I#5u8SfuKL=N}AJwL)ed9DzumM1tOMdwwWvSNM%Y1Vyln zYt5~q-{KhLGP2wthVT%nf*}SgXM1}n1Sy{^&iIOiJvZB|&;T1FMzcM-dHzQKw}sR< zNb_0@ti&<(m~>+_k-8|U^%k>bxDa97bZdZ61FB0*MWb&a8|_~hWEMK6=(nJY@UH+e z%%UYCkm__NSF=I0&GoLjYuVDN!-qeax~Mg4UcGuFJ>SX6=_->i*K8PsAmjt{{U$L4XlaZq5ur0R;blr`DoT z2zFa2eowNn6yY$2u1FHXn2>Ejcqv6ipTBsqL8Wp7E5!0p8C$rRfm?^@EWpaKg5Y-1 z8XW`F?XQqa`lCmmz>|;jBj9nstYRd7OjwxiE^)v^<`tZC1U3Y7>(Mc+*C>s#*luJg zp{GUdMW|pOJRq`RppPXvV{p@6!W?Q_xHw_gL1TI&NGv$I5I_*rUnF>`U0q!lMkBO@ z{)dgUC&Cn6IY>bMzZqRnWWfdTpBY_;umAM1MvlmT2t)n-{^kF6ke0RQL0~Ee`3}qs zzkdC)2!73N;s(GN+EOI%A|nyj@UMU_LTQ5CsdNQ>eNrf|5v2)D4*HKr>2?SF4(?3( zPf@5Z(l@96ryx|-(J>4lEdC1ojG4B@_60BYq=T5yQIHV;^2q2$T4wNau;mvq6}tTZ zm^WB}(+S`o2#mnzqGxl&>lzXi`%)L5;FHC!I=uJjy1h7U-0R&hqdL;S9Sy1M#BH6^9v@Kwt)F*92x+)%!YGmz%LODg@#Y>HM^ zx5b|_$k)>6qxZQgT^8qj!El`Z^ud9&;&gFd$}+LhOp&$uga^?a(&z1H)N z6ds*gn3ngMv#;Wto2@7m%$yT+trB{nNlIGyJ!-uBMWQWxi?&K7>9dP(&fPorrsH6* z&qcAU!-5uCdk4y1TrgUQjk#|3{+FXms{_Ns<0><@l_}BjGSP-`^whRl-aT@mqe{4S ztV}#4-JpKW>Ha8)1))Mt^CRi)8BlYs1K^Nw6+uZ|d8`>YoSR6l>K$~dFd^j zQ@!klS${np9l$-mchF8_r$jLoJ4#blUe16ox;ApY5kVG14I@Eg?C900-!9l>`t!l) z(2#r0Eh{^hD5Oouh6>q?ohK(F!*Mtk-xUUS^dOpBw6?u!Yz=Uzh8&OAaXztrB?6MZ zTd7TYpu~sQ1Wm0(L<;s}G=iV=wMVc&vMQI;p?YqlS?tP{=dBLa$Yz0q%S?gZW~2!` z*eegHu4-sN_h>@(eG4`ou)1OmK^+W(B9D0AV6>*DruI3K-vJF1igdh6O=V^Mv>`;m zVp*8i^_@?%-*u_8T-Dc-q=**2rQ0_H|ZPp^nbE zPrt4RU1wo>_T804?x(EBH`mMq)B#RcS)Idn=hQk;TnK+`!Li1`%Adw7Nu)nxAAp;+ z8t)yK4DV9hnkjGDr+Z;)tI*6s<8ekyyG~L5ophcbFOa_E;tJaOYfSdur3>CP4%HV# zL|QCpjy!w=1{0Yfk!p>rkQ%)kGG8o{_T-BJA7W$o;yAmD_;pt$@%lX+U|bRCcR*yz zNBC-R3D}XSa|B^2%!CsSWy2AGom)EF8-zC4lV|0SYP3BVwbz=Yo$mceTBZ4QiC?2H zlzoYRke^;+7x2$h#jBBwT(k3<_4*SLk-ELg=T(Fm~=Y1jsPGM`m{ z!qc|vZDjA6)52O!Mw(;#jc)sDmptb!HpsR;aNe1Sik&TYT5f8H=vm=NEtYh%cpDKl zBNN110Lv9T!*7AWA$lYk85xn=u6(FbOZ=Io^%@$>CO@U0f5KP?hTlOzu+Lw z`<2Tc3qXxT#mD#Ji8XEdq=T3spuZ1ts244^%$!|Z2|vX2Vsy0q`@-?ItVLGUN2y8Q z+LK8&?bfw9kl(!djWjvZdzo1)YN)#Hj}6DHH{m zv?Np34OkuGw|W9KE_az=ahoT^z8@`mB+eO500qTt3ObkOoq-5T=R7gITbvvqeKvaj z0?K&Il)#H+WMJqH`qC8#wF5?l4LQXdD`l#IKOy=|1YH$pXSSu6!nPcLzj4`cIjzzS z?LwdQ9o~6#iQf=s$W4Jft7V1>UI}^d zO6SZT9i3aRI5v&u?1_}RC$DDGva?R8(^7XRIwl@bbI;NLpG4r^6q-AyoffV9ZzlR{ zHD2ELjp(z%5%95~yTy;rHiSpE;ODFG@bH7&#*`=qg!=L-9~z9kVeD-xGkezeErYqF zSz%nEd~~`iHZD?C-ow0`tA099CvMXDt7;E_ex{M)bF*Ep-*$#6oCr8|d%Xi)vk?~` z59Rfmqy5#ttgcQ4nmvBHC$1zYaC_n70u9@(ro5{{bCajH@ea{uk?h^VG?rKR>qoGV zu*2MEUu7gs7KB~+Ui9U2wBq<&`%cEbBqj0re7mCDsOlj1BByC@a&p1FPehLF61lTp zcT^oGb}HICU)$p@5>Y&gii)NuDfA~z_+7EAAzFU-{{2v4>%i@*Zu3)j8J%T9I7(#B zpP?c|D$L69?|{vO#S0S8Dsa(x2y?QoF5yq$MZ50}{*v&*>y=YtvZcdD!T9hxrdupp zd5GmGMf#kqh6W8bp6F<%n2Vjb=@vTO*;N2DN8q&MPSmwTBpyN4gR>E00uF;(1|qoz zsl<@{xMUyzue7YJ5QpQeEPmXhUoIZdK(Xmc95OJ)yot^dOzS>`%L1p0c=VNo<~ue3 z@>U2~8JYq7f=BBc^N>l16tgRygPb0vGFfC0N9810ob=)$BrE%kkU_>#v~R#J0KjEWA}&np+W)KTzi% zVk3!Aib1b7G5fN*i3uxqKI4?jL8@^C;)r|uIee9+l>Yvwdqe;hx{*rq5>888@`~uo z>ekk&3p1H)6#9$hnW_wxIwb)|%_B2s_dk`7saH@|=84{YJe$lw6y_!3n_i(u7vrv? z2f7ZhB5=nXHHVl7(i2NfhWNBJKj0M7_dbnT%d~xWIS7X|bh>OX6kS_;&FX=p807Uo zzi+9_N{-wOvKD5=F;rLAEXOMGM)_o<&B>5ch6I#Pl1`d$KUnV$E)>|)dBDQ&lH>fZ z-I^}BWTZPc2CHUM9hdsr=Pkzn(WsHFwocXvkYh%>wUxqHm6~nBPRBw|(p`UOPDXN& z)v^Ch?cJ;Q7G$#4Q(D?@w2hqqk>i=DL|jD-F-F)a8l(3u_Jz<})HCh1wg!^fv(=u_ zAt65mc8fi7s)OU!58=*%MTh>p&ds~RQ-=~-Dfvh^*vsLCdM zDB_BZ)LOpW?zJa0Vi~_4Q=!vm#`o7i1= zZCQTH5mD3`ueeQK|47nx=LPwCe!j~K#mw`0IO)o{35Xd`wZ;Bg&L@eT7+Vn`s4qr5 zLF4sUP`D1<{aRL*Y?qI+=O`1C1dD3QW#o3bp=q%_LhdANwd@afb>acvbr+ugGgYVe zojYsQ|9qFo6U?BtqqAgQyifTFj!5oEZjl6rN<12a z;OD{}c@Z(BMAjNQO%!+w$@pG)gp}cDG9UhNdMXGVVF{epc~o8^;mZE#$&=#f!JjAE z0n1oJIuUKVTVxAiZeB;c26y;biQgP~xC=n51CTW&CMJWh>8@?OBW>F!J~;+9X677?D?ldn7iT+naLN(pU$rHN=|!iD9!c7yHTNT$tU&O((iJk_nqR5`zPsD-K5s3 zFCH)AGsE9LR7tt~q)BxsCx4aVt&>CW0@X_E&IIv`9SRbs2P7U{k-CuLa_IEX%_2sP zi1raWlqerZesH^bm5felpV|V8pNObfsLWy0oU2bZkRD3zlGw3xQZP<2e*e=Kd#rdq z1#E0pwJ=`H?4^>VK7XFfl9W8HyJ0OhXrV4Wp(x<&wJp9gpS^lR*)&*2YzAsirAt#w znzrYWS%!zRWo!!x6QWxn# zL_3$4XrH0Fh#X55P^ouyTHV)_le-zB&3c|x6oRdQsp<>l#E)_py@O4p69c29ai@Ak zY6{kLYbgv*G}95Dmw9F=;YCZPkAT`%Km1(v~9|4`UKxG!c@z zv2~h{!^ymsGIoKZz@3$%GdYVtZ=9vO_^_RcWFy>IV)tY~nx4{OxLnqE6xLrME zuq24?Vlz+EHoePRC!SP^ZGofHSMBPNeOx@hy2XzimwD-|R){4K>-KsKG_QIi#N^I&a10xPc(B`_B_^dHgEA{KFwP&m!g#U`c0Wbb=8IL z9`VrV-Ys?X6Eo%m5&nc|3YLj`ay(CC zM$gI>`WE~tHovC}SAD_I!|?gwsSc}s(s0aUR%>KQo~0C1+}_^4e9OTJVaKiIkmjK= z7f2V7VjVj}06I_!RwQ&m?@R&Z}aeKxQv#A*u{bz``WR^T_T;fqdUs{FKjf-8$9JnqgM9g z;M9%-j&`RTwd5-cWKQQ;RtRjIS7EXO61}PALwxIPTQ~WuuNSa6XUCf} zu^9|&e=XB|8s(d}@3pt2NVGj@6Xi|SXkb!cDr?m5R^ERlWMW@gl!+{NW@%|{$kby; z;RS}AX`h}YwX`!q-$M@8+#Kn3tYyT04>Y!A!KMSd5d4h#LY-~#dQ-b`G|v?}NE-Gh?Ax~Ki#(%< z{UG_V!Qk6>i?-?>B`ukeqVdi)toxoh%-`4~q9Ctmopm{= z<`&8m#rlEIX4ckz7d!9Y-zXA<%EQBm_;Nj(R}@Y%Ef-j z7#>{gl+xNlP$1LIwA=*-Q1|w-lb>S}x+*VEm?#P58Tu3GWPXT=(S`$8&lH8xPbCeF z;02kanp>hFWGEkoQ%Q5ex=67=2OfGg}^ABdCc;7fg!$fg_n%YR2`0Mst-WdQ^Zgwv^ z#>mK{!obGCk@R!lQ+E%K85M8dI{nJ}qvpp2D)&C+tVm5KO1kuz%R!~47pP!3HrfA_ z(`mt28X`rfWM+y3`}gq~lnU%EY)TCydHC>C ze~lR0mfsZU1xJ2?RxA0^cd$^LCLxc50Eoxy;MLNsNzdI#EGwzDv9a4{dJR04hZ z(%gFFq2202AAGp1MKBBy+bNP`1Bp6`_&s*<97M|#eR!e@M9|Drm|WceHE_MdRUG(hsVS`OSXoiVVF_77&6Pjpjm5&8@zDFbHCe9)vTcU1h$jSL+ z0B(*BRoXljCs7P-E1MqB($bpVXl%+G<*bs$zY-KBueq{kdQ?Z$tJZ;%YiiP|kyKq@jiLvf zN>zJSo~M4Z&f_sqw3betXPM%3pR?IJy6Z9j5Z7&Pv;9XQq?sLF8awb-Gq*i?yo_Ds z-MgUPcJqa;SDgm9dU=GTFFcgF^lahIvnxjRJBvqml=m@m%0DS%6QEHk^AmAgjM_yu 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

<+= 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˹v%^M5PxhLMe@Av*X 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 QN%*6rpei3PYjFMl0Qft&q5uE@ diff --git a/benchmark/benchtest.py b/benchmark/benchtest.py index e14c7cb..42f07e5 100644 --- a/benchmark/benchtest.py +++ b/benchmark/benchtest.py @@ -1,77 +1,111 @@ import openstl import numpy as np import timeit +from stl import mesh, Mode import matplotlib.pyplot as plt def create_triangles(num_triangles): triangles = [] - tri = openstl.Triangle([0, 0, 1], [1, 1, 1], [2, 2, 2], [3, 3, 3], 3) + tri = np.array([[0, 0, 1], [1, 1, 1], [2, 2, 2], [3, 3, 3]]) # normal, vertice 1,2,3 for _ in range(num_triangles): triangles.append(tri) - return triangles + return np.array(triangles) def benchmark_write(num_triangles, filename): triangles = create_triangles(num_triangles) - result = timeit.timeit(lambda: openstl.write(filename, triangles, openstl.StlFormat.Binary), number=5) + result = timeit.timeit(lambda: openstl.write(filename, triangles, openstl.format.binary), number=5) return result def benchmark_read(filename): result = timeit.timeit(lambda: openstl.read(filename), number=5) return result -def benchmark_multiply_triangles(num_triangles, matrix): +def benchmark_rotate(num_triangles): triangles = create_triangles(num_triangles) - vertices = openstl.get_vertices(triangles).reshape(3,-1) - result = timeit.timeit(lambda: np.matmul(matrix, vertices), number=5) + cos, sin = np.cos(np.pi/3), np.sin(np.pi/3) + matrix = np.array([[cos, -sin, 0],[sin, cos, 0], [0,0,1]]) # rotation of pi/3 around z axis + result = timeit.timeit(lambda: np.matmul(matrix, triangles.reshape(-1,3).T), number=5) return result -def benchmark_multiply_numpy(num_triangles, matrix): - array = np.random.rand(3, num_triangles*3) # 3 float per triangle - result = timeit.timeit(lambda: np.matmul(matrix, array), number=5) +def create_nympystl(num_triangles): + triangles = np.zeros(num_triangles, dtype=mesh.Mesh.dtype) + mesh_data = mesh.Mesh(triangles) + return mesh_data + +def benchmark_read_numpy_stl(filename): + result = timeit.timeit(lambda: mesh.Mesh.from_file(filename, mode=Mode.BINARY), number=5) + return result + +def benchmark_write_numpy_stl(num_triangles, filename): + mesh_data = create_nympystl(num_triangles) + result = timeit.timeit(lambda: mesh_data.save(filename), number=5) + return result + +def benchmark_rotate_numpy(num_triangles): + mesh_data = create_nympystl(num_triangles) + result = timeit.timeit(lambda: mesh_data.rotate([0.0, 0.0, 1.0], np.pi/3), number=5) return result if __name__ == "__main__": # Benchmark parameters - filename = "../tests/python/benchmark.stl" - matrix = np.random.rand(3, 3) - num_triangles_list = [10**i for i in range(1, 7)] + filename = "benchmark.stl" + num_triangles_list = np.logspace(1,7, 20).round().astype(int) # Benchmarking - write_times = [] - read_times = [] - multiply_times = [] - multiply_numpy_times = [] + write_times_openstl = [] + read_times_openstl = [] + rotate_openstl = [] + read_numpy_stl_times = [] + write_numpy_stl_times = [] + rotate_numpy_stl = [] + + # Exclude 1rst operation (openstl dyn lib loading) + write_time = benchmark_write(1, filename) for num_triangles in num_triangles_list: write_time = benchmark_write(num_triangles, filename) read_time = benchmark_read(filename) - multiply_time = benchmark_multiply_triangles(num_triangles, matrix) - multiply_numpy_time = benchmark_multiply_numpy(num_triangles, matrix) + rotate_time = benchmark_rotate(num_triangles) + write_times_openstl.append(write_time) + read_times_openstl.append(read_time) + rotate_openstl.append(rotate_time) + + write_time = benchmark_write_numpy_stl(num_triangles, filename) + read_time = benchmark_read_numpy_stl(filename) + rotate_time = benchmark_rotate_numpy(num_triangles) + read_numpy_stl_times.append(read_time) + write_numpy_stl_times.append(write_time) + rotate_numpy_stl.append(rotate_time) - write_times.append(write_time) - read_times.append(read_time) - multiply_times.append(multiply_time) - multiply_numpy_times.append(multiply_numpy_time) + # Results + write_diff = (np.array(write_numpy_stl_times) / np.array(write_times_openstl)).round(3) + read_diff = (np.array(read_numpy_stl_times) / np.array(read_times_openstl)).round(3) + rotate_diff = (np.array(rotate_numpy_stl) / np.array(rotate_openstl)).round(3) + print(f"Write:\tOpenSTL is { np.min(write_diff)} to {np.max(write_diff)} X faster than numpy-stl") + print(f"Read:\tOpenSTL is {np.min(read_diff)} to {np.max(read_diff)} X faster than numpy-stl") + print(f"Rotate:\tOpenSTL is {np.min(rotate_diff)} to {np.max(rotate_diff)} X faster than numpy-stl") # Plotting plt.figure(figsize=(10, 6)) # Set figure size for better visualization - plt.plot(num_triangles_list, write_times, label="Write", color="green", linestyle="-", marker="o", markersize=5) - plt.plot(num_triangles_list, read_times, label="Read", color="blue", linestyle="--", marker="s", markersize=5) - plt.plot(num_triangles_list, multiply_times, label="Multiply (Triangles)", color="red", linestyle="-.", marker="^", markersize=5) - plt.plot(num_triangles_list, multiply_numpy_times, label="Multiply (Numpy Array)", color="purple", linestyle=":", marker="d", markersize=5) + plt.plot(num_triangles_list, write_times_openstl, label="Write (OpenSTL)", color="green", linestyle="-", marker="s", markersize=5) + plt.plot(num_triangles_list, read_times_openstl, label="Read (OpenSTL)", color="blue", linestyle="-", marker="s", markersize=5) + plt.plot(num_triangles_list, rotate_openstl, label="Rotate (OpenSTL)", color="red", linestyle="-", marker="s", markersize=5) + plt.plot(num_triangles_list, write_numpy_stl_times, label="Write (numpy-stl)", color="green", linestyle="--", marker="o", markersize=5) + plt.plot(num_triangles_list, read_numpy_stl_times, label="Read (numpy-stl)", color="blue", linestyle="--", marker="o", markersize=5) + plt.plot(num_triangles_list, rotate_numpy_stl, label="Rotate (numpy-stl)", color="red", linestyle="--", marker="o", markersize=5) plt.xlabel("Number of Triangles", fontsize=12) plt.ylabel("Time (seconds)", fontsize=12) plt.title("Python Benchmark Results", fontsize=14) plt.xscale("log") plt.yscale("log") - plt.legend(fontsize=10) + plt.legend(fontsize=10, handlelength=5) plt.grid(True, which="both", linestyle="--", linewidth=0.5) # Add grid lines with dashed style plt.tight_layout() # Adjust layout to prevent clipping of labels # Adjusting axes limits and scaling plt.xlim(num_triangles_list[0], num_triangles_list[-1]*1.1) # Extend x-axis range by 10% - plt.ylim(min(min(write_times), min(read_times), min(multiply_times), min(multiply_numpy_times)) * 0.5, - max(max(write_times), max(read_times), max(multiply_times), max(multiply_numpy_times)) * 2) # Expand y-axis range + plt.ylim(min(min(write_times_openstl), min(read_times_openstl), min(read_numpy_stl_times), min(write_numpy_stl_times)) * 0.5, + max(max(write_times_openstl), max(read_times_openstl), max(read_numpy_stl_times), max(write_numpy_stl_times)) * 2) # Expand y-axis range plt.show() \ No newline at end of file diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7abb152..11dacb5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -10,14 +10,7 @@ endmacro() macro(ReadDependencyVersion dependency_name version_file) file(READ ${version_file} ver) - string(REGEX MATCH "${dependency_name}\ *=\ *\"([0-9]+).([0-9]+).?([0-9]*)\"" _ ${ver}) - set(${dependency_name}_VERSION_MAJOR ${CMAKE_MATCH_1}) - set(${dependency_name}_VERSION_MINOR ${CMAKE_MATCH_2}) - set(${dependency_name}_VERSION_PATCH ${CMAKE_MATCH_3}) - if(CMAKE_MATCH_3 EQUAL "") - set(${dependency_name}_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}") - else() - set(${dependency_name}_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") - endif() + string(REGEX MATCH "${dependency_name}\ *=\ *\"([^\"]*)\"" _ ${ver}) + set(${dependency_name}_VERSION "${CMAKE_MATCH_1}") message(STATUS "${dependency_name} version: ${${dependency_name}_VERSION}") endmacro() \ No newline at end of file diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt index 4db2b23..e6cc7da 100644 --- a/modules/core/CMakeLists.txt +++ b/modules/core/CMakeLists.txt @@ -25,4 +25,5 @@ configure_file(include/openstl/core/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/gen #------------------------------------------------------------------------------- add_library(openstl_core INTERFACE) target_include_directories(openstl_core INTERFACE include/ ${CMAKE_CURRENT_BINARY_DIR}/generated/) +target_link_libraries(openstl_core INTERFACE) add_library(openstl::core ALIAS openstl_core) \ No newline at end of file diff --git a/modules/core/include/openstl/core/stl.h b/modules/core/include/openstl/core/stl.h index 874668e..e037d64 100644 --- a/modules/core/include/openstl/core/stl.h +++ b/modules/core/include/openstl/core/stl.h @@ -66,15 +66,15 @@ namespace openstl * @param triangles The vector of triangles to serialize. * @param stream The output stream to write the serialized data to. */ - template - void serializeAsciiStl(const std::vector& triangles, Stream& stream) { + template + void serializeAsciiStl(const Container& triangles, Stream& stream) { stream << "solid\n"; - for (const auto& triangle : triangles) { - stream << "facet normal " << triangle.normal.x << " " << triangle.normal.y << " " << triangle.normal.z << std::endl; + for (const auto& tri : triangles) { + stream << "facet normal " << tri.normal.x << " " << tri.normal.y << " " << tri.normal.z << std::endl; stream << "outer loop" << std::endl; - stream << "vertex " << triangle.v0.x << " " << triangle.v0.y << " " << triangle.v0.z << std::endl; - stream << "vertex " << triangle.v1.x << " " << triangle.v1.y << " " << triangle.v1.z << std::endl; - stream << "vertex " << triangle.v2.x << " " << triangle.v2.y << " " << triangle.v2.z << std::endl; + stream << "vertex " << tri.v0.x << " " << tri.v0.y << " " << tri.v0.z << std::endl; + stream << "vertex " << tri.v1.x << " " << tri.v1.y << " " << tri.v1.z << std::endl; + stream << "vertex " << tri.v2.x << " " << tri.v2.y << " " << tri.v2.z << std::endl; stream << "endloop" << std::endl; stream << "endfacet" << std::endl; } @@ -88,8 +88,8 @@ namespace openstl * @param triangles The vector of triangles to serialize. * @param stream The output stream to write the serialized data. */ - template - void serializeBinaryStl(const std::vector& triangles, Stream& stream) { + template + void serializeBinaryStl(const Container& triangles, Stream& stream) { // Write header (80 bytes for comments) char header[80] = {0}; stream.write(header, 80); @@ -99,7 +99,8 @@ namespace openstl stream.write((const char*)&triangleCount, sizeof(triangleCount)); // Write triangles - stream.write((const char*)triangles.data(), sizeof(Triangle)*triangles.size()); + for (const auto& tri : triangles) + stream.write((const char*)&tri, sizeof(Triangle)); } /** @@ -110,8 +111,8 @@ namespace openstl * @param stream The output stream to write the serialized data. * @param format The format of the STL file (ASCII or binary). */ - template - inline void serializeStl(const std::vector& triangles, Stream& stream, StlFormat format) { + template + inline void serializeStl(const Container& triangles, Stream& stream, StlFormat format) { switch (format) { case StlFormat::ASCII: serializeAsciiStl(triangles, stream); diff --git a/pyproject.toml b/pyproject.toml index 6424e54..9b0cd28 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,4 +18,4 @@ tag_format = "v$version" [tool.poetry.dependencies] pybind11 = "2.11.1" -catch2 = "3.4.0" +catch2 = "3.5.3" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 7f6092f..990344e 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -30,7 +30,7 @@ IF(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND) file(GLOB_RECURSE python_SRC core/*.cpp) pybind11_add_module(openstl MODULE ${python_SRC}) target_include_directories(openstl PRIVATE ${PYBIND11_SUBMODULE}/include) - target_link_libraries(openstl PRIVATE openstl::core pybind11::headers) + target_link_libraries(openstl PRIVATE openstl::core pybind11::headers) target_compile_definitions(openstl PRIVATE VERSION_INFO=${PROJECT_VERSION}) set_target_properties(openstl PROPERTIES INTERPROCEDURAL_OPTIMIZATION ON diff --git a/python/core/src/stl.cpp b/python/core/src/stl.cpp index d82e0c7..4d88710 100644 --- a/python/core/src/stl.cpp +++ b/python/core/src/stl.cpp @@ -1,7 +1,5 @@ #include #include -#include -#include #include #include @@ -16,164 +14,132 @@ using namespace pybind11::literals; using namespace openstl; -Vec3 makeVec(const py::array_t &vertex) -{ - /* Request a buffer descriptor from Python */ - py::buffer_info info = vertex.request(); +// Custom stride container for py::array_t -> Iterator of Triangles +class StridedTriangleSpan { + // Iterator type for iterating over elements with stride + class Iterator { + public: + // Define iterator category + using iterator_category = std::forward_iterator_tag; + using difference_type = std::ptrdiff_t; + using value_type = Triangle; + using pointer = Triangle*; + using reference = Triangle&; + + explicit Iterator(const float* ptr) : ptr(ptr) {} + + // Dereference operator + const Triangle& operator*() const { return *reinterpret_cast(ptr); } + const Triangle* operator->() const { return reinterpret_cast(ptr); } + + // Increment operator + Iterator& operator++() { + ptr += 12; + return *this; + } - if (info.ndim != 1) - throw std::runtime_error("Vertex constructed with incompatible buffer dimension"); + // Equality operator + bool operator==(const Iterator& other) const { return ptr == other.ptr; } - if (info.shape[0] != 3) - throw std::runtime_error("Vertex constructed with incompatible buffer size"); + // Inequality operator + bool operator!=(const Iterator& other) const { return !(*this == other); } - auto ptr = static_cast(info.ptr); - return Vec3{ptr[0], ptr[1], ptr[2]}; -} + private: + const float* ptr; + }; -Vec3 makeVec(const py::list &vertex) -{ - if (vertex.size() != 3) - throw std::runtime_error("Vertex constructed with incompatible list size"); - return Vec3{static_cast(vertex[0].cast()), static_cast(vertex[1].cast()), - static_cast(vertex[2].cast())}; -} + const float* data_; + size_t size_; +public: + + // Constructor takes a pointer to the data, the number of elements, and the stride + StridedTriangleSpan(const float* data, size_t size) : data_(data), size_(size) {} + + // Begin iterator + Iterator begin() const { return Iterator{data_}; } + + // End iterator + Iterator end() const { return Iterator{data_ + size_ * 12}; } + + size_t size() const {return size_;} +}; + + +namespace pybind11 { namespace detail { + template <> struct type_caster> { + public: + PYBIND11_TYPE_CASTER(std::vector, _("TrianglesArray")); + + bool load(handle src, bool convert) + { + if ( !convert and !py::array_t::check_(src) ) + return false; + + auto buf = py::array_t::ensure(src); + if(!buf) + return false; + + if (buf.ndim() != 3 || buf.shape(1) != 4 || buf.shape(2) != 3) + return false; + + std::vector triangles{}; triangles.reserve(buf.shape(0)); + StridedTriangleSpan stridedIter{buf.data(), (size_t)buf.shape(0)}; + std::copy(std::begin(stridedIter), std::end(stridedIter), + std::back_inserter(triangles)); -void stl(py::module_ &m) { - - py::class_(m, "Vec3", py::buffer_protocol()) - .def(py::init([](float x, float y, float z){ - return new Vec3{x,y,z}; - }), "x"_a, "y"_a, "z"_a) - .def(py::init([](const py::array_t& vertex){ - return Vec3{makeVec(vertex)}; - })) - .def(py::init([](const py::list& vertex){ - return Vec3{makeVec(vertex)}; - })) - .def_readwrite("x", &Vec3::x) - .def_readwrite("y", &Vec3::y) - .def_readwrite("z", &Vec3::z) - .def_buffer([](Vec3 &m) -> py::buffer_info { - return py::buffer_info( - &m.x, /* Pointer to buffer */ - sizeof(float), /* Size of one scalar */ - py::format_descriptor::format(), /* Python struct-style format descriptor */ - 1, /* Number of dimensions */ - {3}, /* Buffer dimensions */ - {sizeof(float)} /* Strides (in bytes) for each index */ - - ); - }) - .def("__len__", [](const Vec3 &obj) { - (void) obj; - return 3; - }) - .def("__getitem__", [](const Vec3 &obj, size_t index) { - return (&obj.x)[index]; - }) - .def("__repr__", - [](const Vec3 &obj) { - std::stringstream ss; - ss << "[" << obj.x << ", " << obj.y << ", " << obj.z << "]\n"; - return ss.str(); - } - ); - - py::class_(m, "Triangle", py::buffer_protocol()) - .def(py::init([](const Vec3& normal, const Vec3& v0, const Vec3& v1, - const Vec3& v2, uint16_t attribute_byte_count) { - return Triangle{normal, v0, v1, v2, attribute_byte_count}; - }), "normal"_a, "v0"_a, "v1"_a, "v2"_a, "attribute_byte_count"_a) - .def(py::init([](const py::array_t& normal, const py::array_t& v0, const py::array_t& v1, - const py::array_t& v2, uint16_t attribute_byte_count) { - std::vector vertices{}; vertices.reserve(4); - for (const auto& vertex : {normal, v0, v1, v2}) - vertices.emplace_back(makeVec(vertex)); - return Triangle{vertices[0], vertices[1], vertices[2], vertices[3], attribute_byte_count}; - }), "normal"_a, "v0"_a, "v1"_a, "v2"_a, "attribute_byte_count"_a) - .def(py::init([](const py::list& normal, const py::list& v0, const py::list& v1, - const py::list& v2, uint16_t attribute_byte_count) { - std::vector vertices{}; vertices.reserve(4); - for (const auto& vertex : {normal, v0, v1, v2}) - vertices.emplace_back(makeVec(vertex)); - return Triangle{vertices[0], vertices[1], vertices[2], vertices[3], attribute_byte_count}; - }), "normal"_a, "v0"_a, "v1"_a, "v2"_a, "attribute_byte_count"_a) - .def_readwrite("normal", &Triangle::normal) - .def_readwrite("v0", &Triangle::normal) - .def_readwrite("v1", &Triangle::normal) - .def_readwrite("v2", &Triangle::normal) - .def_readwrite("attribute_byte_count", &Triangle::attribute_byte_count) - .def_buffer([](Triangle &m) -> py::buffer_info { - return py::buffer_info( - &m.normal, - sizeof(float), - py::format_descriptor::format(), - 2, - { 3, 4 }, - { sizeof(float) , - sizeof(float)*3 } - ); - }) - .def("__len__", [](const Triangle &obj) { - (void) obj; - return 12; - }) - .def("__getitem__", [](const Triangle &obj, size_t index) { - return (&obj.normal.x)[index]; - }) - .def("__repr__", - [](const Triangle &obj) { - std::stringstream ss; - ss << "Normal:\n" << "\t[" << obj.normal.x << ", " << obj.normal.y << ", " << obj.normal.z << "]\n"; - ss << "Vertices:\n"; - for(const auto vertex : {obj.v0, obj.v1, obj.v2}) - { - ss << "\t[" << vertex.x << ", " << vertex.y << ", " << vertex.z << "]\n"; - } - ss << "attribute_byte_count: " << obj.attribute_byte_count << "\n"; - return ss.str(); - } - ); - - m.def("get_vertices", [](const std::vector& triangles) - { - if (triangles.empty()) { - // If the vector is empty, return an empty numpy array - return py::array_t({0,0,3}); + value = triangles; + return true; } - return py::array_t({static_cast(triangles.size()), - static_cast(3), static_cast(3)}, - {sizeof(Triangle), sizeof(Vec3), sizeof(float)}, - &triangles[0].v0.x); - }); -} + + static handle cast(const std::vector& src, return_value_policy /*policy*/, handle /* parent */) { + py::array_t array( + {static_cast(src.size()), + static_cast(4), static_cast(3)}, + {sizeof(Triangle), sizeof(Vec3), sizeof(float)}, + (float*)src.data()); + return array.release(); + } + }; +}} // namespace pybind11::detail + + void serialize(py::module_ &m) { - py::enum_(m, "StlFormat") - .value("ASCII", StlFormat::ASCII) - .value("Binary", StlFormat::Binary); + py::enum_(m, "format") + .value("ascii", StlFormat::ASCII) + .value("binary", StlFormat::Binary) + .export_values();; - m.def("write", [](const std::string &filename, const std::vector& triangles, + m.def("write", [](const std::string &filename, + const py::array_t &array, StlFormat format=openstl::StlFormat::Binary){ py::scoped_ostream_redirect stream(std::cerr,py::module_::import("sys").attr("stderr")); std::ofstream file(filename, std::ios::binary); if (!file.is_open()) { - std::cerr << "Error: Unable to open file '" << filename << "'" << std::endl; - return false; + std::cerr << "Error: Unable to open file '" << filename << "'" << std::endl; + return false; } - openstl::serializeStl(triangles, file, format); // Or StlFormat::ASCII + + auto buf = py::array_t::ensure(array); + if(!buf) + return false; + + if (buf.ndim() != 3 || buf.shape(1) != 4 || buf.shape(2) != 3) + return false; + + StridedTriangleSpan stridedIter{buf.data(), (size_t)buf.shape(0)}; + openstl::serializeStl(stridedIter, file, format); // Or StlFormat::ASCII if (file.fail()) { - std::cerr << "Error: Failed to write to file " << filename << std::endl; + std::cerr << "Error: Failed to write to file " << filename << std::endl; } file.close(); return true; - },"filename"_a, "triangles"_a, "StlFormat"_a=openstl::StlFormat::Binary, "Serialize a STL to a file"); + },"filename"_a, "triangles"_a, "StlFormat"_a=openstl::StlFormat::Binary, "Serialize a STL to a file"); - m.def("read", [](const std::string &filename){ - py::scoped_ostream_redirect stream(std::cerr,py::module_::import("sys").attr("stderr")); + m.def("read", [](const std::string &filename) { + py::scoped_ostream_redirect stream(std::cerr, py::module_::import("sys").attr("stderr")); std::ifstream file(filename, std::ios::binary); if (!file.is_open()) { std::cerr << "Error: Unable to open file '" << filename << "'" << std::endl; @@ -181,15 +147,16 @@ void serialize(py::module_ &m) { } // Deserialize the triangles in either binary or ASCII format - std::vector triangles = openstl::deserializeStl(file); - file.close(); - return triangles; - }, "filename"_a, "Deserialize a STl from a file", py::return_value_policy::move); + return openstl::deserializeStl(file); + }, "filename"_a, "Deserialize a STl from a file", py::return_value_policy::move); } PYBIND11_MODULE(openstl, m) { - stl(m); + //stl(m); serialize(m); m.attr("__version__") = OPENSTL_PROJECT_VER; m.doc() = "A simple STL serializer and deserializer"; + + PYBIND11_NUMPY_DTYPE(Vec3, x, y, z); + PYBIND11_NUMPY_DTYPE(Triangle, normal, v0, v1, v2, attribute_byte_count); } \ No newline at end of file diff --git a/setup.py b/setup.py index 715a813..fd2d203 100644 --- a/setup.py +++ b/setup.py @@ -45,9 +45,6 @@ def build_extension(self, ext: CMakeExtension) -> None: for filename in os.listdir(ext.sourcedir): print(filename) - debug = int(os.environ.get("DEBUG", 0)) if self.debug is None else self.debug - cfg = "Debug" if debug else "Release" - # CMake lets you override the generator - we need to check this. # Can be set with Conda-Build, for example. cmake_generator = os.environ.get("CMAKE_GENERATOR", "") @@ -60,7 +57,7 @@ def build_extension(self, ext: CMakeExtension) -> None: f"-DPYTHON_EXECUTABLE={sys.executable}", f"-DPYTHON_INCLUDE_DIR={sysconfig.get_path('include')}", f"-DPYTHON_LIBRARY={sysconfig.get_config_var('LIBDIR')}", - f"-DCMAKE_BUILD_TYPE={cfg}", + f"-DCMAKE_BUILD_TYPE=Release", '-DCMAKE_INSTALL_RPATH=$ORIGIN', '-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON', '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF', @@ -128,5 +125,12 @@ def build_extension(self, ext: CMakeExtension) -> None: "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" ], ) diff --git a/tests/python/test_stl.py b/tests/python/test_stl.py index 1a1795b..97efd2f 100644 --- a/tests/python/test_stl.py +++ b/tests/python/test_stl.py @@ -5,35 +5,28 @@ @pytest.fixture def sample_triangles(): - triangle1 = openstl.Triangle([0, 0, 1], [1, 1, 1], [2, 2, 2], [3, 3, 3], 3) - triangle2 = openstl.Triangle([0, 0, 1], [4, 4, 4], [5, 5, 5], [6 ,6, 6], 5) - return [triangle1, triangle2] - -def test_get_vertices_empty(): - empty_triangles = [] - vertices = openstl.get_vertices(empty_triangles) - assert vertices.shape == (0, 0, 3) # Check that the shape of the returned vertices array is correct - assert len(vertices) == 0 # Check that the array is empty + triangle = np.array([[0, 0, 1], [1, 1, 1], [2, 2, 2], [3, 3, 3]]) + return np.stack([triangle]*1000) def test_get_vertices(sample_triangles): - vertices = openstl.get_vertices(sample_triangles) - assert vertices.shape == (len(sample_triangles),3, 3) - assert np.allclose(vertices[0,0], [1, 1, 1]) - assert np.allclose(vertices[0,1], [2, 2, 2]) - assert np.allclose(vertices[-1,-1], [6, 6, 6]) + vertices = sample_triangles + assert vertices.shape == (len(vertices),4,3) + assert np.allclose(vertices[0,0], [0, 0, 1]) + assert np.allclose(vertices[0,1], [1, 1, 1]) + assert np.allclose(vertices[-1,-1], [3, 3, 3]) def test_write_and_read(sample_triangles): filename = "test.stl" - + # Write triangles to file - assert openstl.write(filename, sample_triangles) + assert openstl.write(filename, sample_triangles, openstl.format.ascii) # Read triangles from file triangles_read = openstl.read(filename) assert len(triangles_read) == len(sample_triangles) for i in range(len(triangles_read)): assert np.allclose(triangles_read[i], sample_triangles[i]) # Will compare normal and vertices - assert triangles_read[i].attribute_byte_count == sample_triangles[i].attribute_byte_count + # Clean up os.remove(filename)