User:Schindler97/GSoC18/Log
From BRL-CAD
Development Logs
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
- Week3
- 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
Coding Period
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.
- 22 May
- Fixed primtive examples for arbx and sph
- Did mged tutorials 6-8
- Went through libged to understand how it work
- 23 May :
- Went through Hacking-BRL-CAD, I really wish I had found this document way earlier!
- Couldn't get a lot of work done because of a research paper deadline I'm working on.
- 24 May :
- I've started documenting the project so far. The major subtopics I'm documenting are :
- What is python brlcad?
- How to setup python brlcad?
- How do the different parts of the code work?
- Creating geometry using existing primtives
- Introducing and experimenting with primitives
- Further Work
- I've started documenting the project so far. The major subtopics I'm documenting are :
- 25 May
- Continuing work on the documentation.
- I'm still not able to build a page using doxygen, I've dropped a message on Zulip and hope to get it resolved soon :)
- 21 May