From 7847aaa1c96fbd7b77f3863f8967acf83aa71440 Mon Sep 17 00:00:00 2001 From: gsdali <51393997+gsdali@users.noreply.github.com> Date: Tue, 23 Jun 2026 21:25:16 +1000 Subject: [PATCH] docs: interactive 3D viewers (model-viewer + glb) + Pages config --- docs/_config.yml | 5 +++++ docs/guides/getting-started.md | 6 +++++- docs/models/cylinder.glb | Bin 0 -> 7344 bytes docs/models/drilled-block.glb | Bin 0 -> 8364 bytes docs/models/l-bracket.glb | Bin 0 -> 94980 bytes docs/models/rounded-block.glb | Bin 0 -> 32680 bytes docs/models/tube.glb | Bin 0 -> 13996 bytes docs/reference/c-api.md | 10 ++++++++-- 8 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 docs/_config.yml create mode 100644 docs/models/cylinder.glb create mode 100644 docs/models/drilled-block.glb create mode 100644 docs/models/l-bracket.glb create mode 100644 docs/models/rounded-block.glb create mode 100644 docs/models/tube.glb diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..68d9a64 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,5 @@ +title: simpleOCCTVP +description: Pure C API over OpenCASCADE — shape I/O, healing, mesh extraction, offscreen 3D render. +remote_theme: just-the-docs/just-the-docs@v0.3.3 +aux_links: + "GitHub": ["https://github.com/SecondMouseAU/simpleOCCTVP"] diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md index 057e9e9..8a20be3 100644 --- a/docs/guides/getting-started.md +++ b/docs/guides/getting-started.md @@ -73,7 +73,11 @@ int main(void) { } ``` - + + + + +*Interactive 3D — representative kernel model (example rendered PNG).* ## 3. Compile and link diff --git a/docs/models/cylinder.glb b/docs/models/cylinder.glb new file mode 100644 index 0000000000000000000000000000000000000000..1305693750a349d31d466ba33d0a89775676aed6 GIT binary patch literal 7344 zcmeHJOKenS6h2VOqX;d~Qp%&2i$$cbndwYlJf_3bLg_$To~6K0E@ezRLuLk$AW0M4 znxHYpjfoqOohI%(ZE&Rv*^#(L7no6`)=se}95ox9DiTsRo))MZ}2c6h#PTS*I9yfYGFj|*A6(BZ=S4lY>mS2gln zw)v^Jkc9J6=2ZzH?0*hedvU-*UD#zyH?%+29~=DF;5?Tw^5VJiQwG}?nzHM~)9~t) zI0T8To}oL=xSMh_iCjA4^f>YBZmMB_49y%k*f8vlT}!1W(&M)qx>^GbBUjv;t!V^| zC9-3QD{gB#Gd}7xJ2%}-HkrnWazd>E2r%cw&OO1!)7$T+#&g%4o=|%Ty*?*5Z-;W3 z>Q5| z^$qvM2hcObO{T6S@p*K5P|ReSGKDG2i{B2~D3%O^#ezE4Prvqx4{pE*kJ6MnT^W+wfT&fTAD7XB|ZC&M7k8-P1xz(@S`kG}< z>sL8yp$^Ie&whHuniylcdGXX!IeTJnj4}Pab-6FfsSRsl3^ij-nhN>-`SE8-@bmm47LU0Su{^!xmS4H8tK8~QZgnc>9`c#!&zma|>leL>a1Xf# zx#^?apDXp-Txq<`mFBUz;@jR_iP(Pi(rf#uoLaIb`u(}mzHF|vUz;n{!RCr@cym?s zL(gLT47tsxa(}KwY+dzRJ<6?4<^Eh1`SJ@I z`q*4)oieoEgZ&a|Do(s#+92h2}#PH>L+-Sg(B z^!?#Cktd3OLkjc5yVCcED)@ibigTjhVUa1Ev%>G>_jjX@9+mIK-PF&AZbg5+_rCHA z_a>q>zdcs|^y^W^^O_3R9gTkbbd&Pmmqenx=%r0S3Z~Y3^ z%$p7foyu>2_~CXgWd3P#i&t)Wlv{qT;jOFO>QQcWDn}UWS8jbNw|rNb152mkmjEAf&J3!H(V zw96ul4zXRrvKW>amWY(WMq~*rF(Mtn4(XI~SYoGi$x_%ZSq4k&l5SZJOYD{&SpiGz zkzK%DvRf)(iMwTwtb`@*k-hR7EO9UX)3ORSDyw0MQRxNtN=zzYV^W1{AFvX34cLBQ z73^BD1Hc1v5V!_+>tGK`HLgRzLvk3n4tF)Mhh;skw}CaVwP1a~^{^YjjsR<6>%fiz zH^6R$JqkQ3{jv#`*e}OqGc56#49FH(;()}Z9+nuFvr? z0(0Qo3ap29a9ns zs!`<*bkKxrC-!>{yj8fWQDqaVZo$(g%ts}>ZQw1y7S!8@e04x(T#30_1ze4om0+te z>us3*#lS_F#VTa0z>_Lq4SW^2ufgZMOEuUB)ne!CR1Nmc zy`>sF3DvON$0i^(W4D#4n+kCUsZ5>rM~$fi&t4VcsLU!TA=)Lip#oHcdQpWMAWsi< apc*{Q{7STG=POhVD#I@X)!=ub4EApZ!CFuN literal 0 HcmV?d00001 diff --git a/docs/models/drilled-block.glb b/docs/models/drilled-block.glb new file mode 100644 index 0000000000000000000000000000000000000000..3108aabc50a1e2d9bd75675c2c9f410d03aa1089 GIT binary patch literal 8364 zcmeHKOK%%h6h5)jhPLU$P17_@nz~cy1Crpe6X!vRoi+i2(gu+V36&tZ&NQ{u*pclP zsuJWi5&{+=Hb^W`#R7@f4y4-r0zg6nu|)g`mVDotJDy1!#dcv)P$r#ozI*O@-E+^q zp03=u{9H&xzKDwa)hY7g;=-jnRwkQuN~J=vWKCYVV_m&@?V3}3CFi_hO~wYTtGCO} z!nJE9r>w(lVRfyLck<=Sx7QqNa@39|2d!-3W**ZcgVt*1O*k2{M~7pBb_^sr99x1o zm#>S5R6gWRl+}y%%It-NwLZ9I@R4x_Y9hJ@ccc7!(I<47TSP~x+{HIud&^579cvW5 zncxpu_hcOV+I-=IQT~l>PmaY~4jsD(YtM@!Ro^LSr5Cuwb6mSe$ z=yp39YtZir^n}}SUT8OnDS8W`?N(3uR_nOWSrezW1#iuq!WP^$bFNx&*UU+2#a$Df z--5fQdbtIE&2{Kj4soy>{<?X>{1kZ1l2|y`C@JD6HI$jt|G8SC*Yy!v!d0Go@^1 z*%>YrSC*_n>y}e2cJ|C*Y2@+;-*)?_?3f@0iv0ytbO7jw(_ zxMByFGsP8tdL>3Cl5zhFsR?Jk`-ky2!Jn64ZX>aA_IDti#5$_zel41HB6n|bqcJUcNXzZ%v~8URqe3 zyF9mW2}?$8bNS^QzE)8j?{%ZT!WTEIKP?ai zk?B7ZA%=MC(dfrrBIoBW;eSJGKZr!})@lKqHh4N9C-&r?K4hEPdh(#Yhdn<*9bzN@ zH2wDaS9clfyAM7|@0xu*Mf~HdAEiJ1^LNE7@4o|IQM|SEYu3&5*{?4uCg<4AGn#hw zYHCM&%IS}Oi4o@skxxB&)srJm)ze3un&$`pYo34bnim)IH7_67)x136ujb{CIJMt8 z!e(S8U=cHu)$vc`8O6=CAmV*~;gPM?Yr0o_>n)C}+NIyqeaJ z>oIXTR_v}js+jd)JnFDcjOY5%{^8z1Z_V3B;vW#h>}g$|4)j=1$Fqga1Agc;C?}>L z%JFW{hkUz#SRd1$sH^TT`&Kb(#(q}(X!MW2U;f?+9#1Y}`YlDN=|jb)KhuD#jf1QEc*5Z1Pw9$+?TC8IOLTfPHQG-H2!JTJS%4~e+Ihk@}!&veG0rCi1|GQv=ej(=pc9p=uXff z@D3RUe+;w(nGOT(lBdCUgYE*2f$ss`4QhjTg6;v0gYO0H1WkbN1KkTc0=^$~ALuCf z0nq)RN$?2h0njnGk+9rPkFy9_h literal 0 HcmV?d00001 diff --git a/docs/models/l-bracket.glb b/docs/models/l-bracket.glb new file mode 100644 index 0000000000000000000000000000000000000000..f331adeaf54e9f43344dda4660982159d4ca04cc GIT binary patch literal 94980 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 literal 0 HcmV?d00001 diff --git a/docs/models/rounded-block.glb b/docs/models/rounded-block.glb new file mode 100644 index 0000000000000000000000000000000000000000..54b92378e2563b383d849d9ba733a570de977e33 GIT binary patch literal 32680 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 literal 0 HcmV?d00001 diff --git a/docs/models/tube.glb b/docs/models/tube.glb new file mode 100644 index 0000000000000000000000000000000000000000..6d269f689fd9c61356b770ddaa7a21dcea34ca35 GIT binary patch literal 13996 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 + + + + +*Interactive 3D — representative kernel model (example rendered PNG).* --- @@ -717,4 +721,6 @@ begin end; ``` - + + +*Interactive 3D — representative kernel model (example rendered PNG).*