Community Bonding Period
Progress through the community bonding period
- Week 1
- Reviewed and understood Kanzure's implementation of python bindings : https://github.com/kanzure/python-brlcad
- Read about ctypesgen and understood it's short-comings and advantages
- Went through chapters 1-3 of mged tutorials
- Week 2
- Reviewed and understood nmz787's implementation of python bindings : https://github.com/nmz787/python-brlcad-tcl
- Delved into understanding how tcl scripts are parsed by mged
- Implemented the ell primitive following nmz's methodology : https://github.com/Killthebug/python-brlcad-tcl/commit/a0973c5b42615e0ef53ba9c876ee14992e1df937
- Had a discussion with Sean about introducing procedural geometry
- Went through OpenSCAD's workflow and tried to understand how they work with procedural geometry
- Went through chapters 4-6 of mged tutorials
Progress through the coding period. Track changes in the current working repo : https://github.com/Killthebug/python-brlcad-tcl/commits/master
- Week 1
- 14 May Introduced bindings and examples for primitives : arb4, arb5, arb7
- 15 May Introduced bindings and examples for primitives : tec, trc
- 16 May Introduced bindings and examples for primitives : rhc, rec
- 17 May Introduced bindings and examples for primitives : ehy, epa
- 18 May
- Introduced primtive : ell1
- Going through libged to figure out how the 'in' command works. Edit : Found it, thanks to Cezar :)
- Reading through the code of the ell primitive in librt to understand how primitives behave at a ground level. There's a lot going on, might take me a while to figure everything out.
- Sean recommended going through the various READMEs scattered across the code, will start on those too and log progress here.
- 19 May
- Introduced the primitive : part
- Trying to understand how certain parts of the pipe() function have been handled by nmz's code.
- 20 May
- Introduced bindings and example for : tor, eto & grip
- Going through to libged/typce.in to understand how it works? Seems good so far.
- Week 2
- 21 May
- Introduced bindings and example for the primitive : half
- I've understood how typec.in functions
- We're trying to figure out the ??? in : tcl -> .g . src/mged/setup.c (converts tcl to c commands) -> ??? -> include/rt/db_io.h -> .g
- I learnt about opendb, which calls the f_opendb() function defined in src/mged/mged.c. to open and create new databases, this will be handy in our pipeline.
- 21 May