Editing User:Krajkreddy/GSOC14/proposal
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | ==Project Title== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==Project Title== | ||
Python Geometry : Python Bindings for BRL-CAD Geometry | Python Geometry : Python Bindings for BRL-CAD Geometry | ||
==Brief summary of Project== | ==Brief summary of Project== | ||
This project aims to wrap BRL-CAD's primitives in python. BRL-CAD in python is an ongoing effort to wrap BRL-CAD functionality in python [1]. Further this project aims at completing the primitives wrapping. With each wrap tests and examples will be added to ensure agility and efficiency. | This project aims to wrap BRL-CAD's primitives in python. BRL-CAD in python is an ongoing effort to wrap BRL-CAD functionality in python [1]. Further this project aims at completing the primitives wrapping. With each wrap tests and examples will be added to ensure agility and efficiency. | ||
− | There are total 20 primitives left to be wrapped. This include the brlcad primitive BOT, DSP, EBM, GRIP, ARS, BOT, CLINE, DSP, EBM, GRIP, HALF, HF, METABALL, NURB, PG, SUBMODEL and PNTS. | + | There are total 20 primitives left to be wrapped. This include the brlcad primitive BOT, CLINE, DSP, EBM, GRIP, ARS, BOT, CLINE, DSP, EBM, GRIP, HALF, HF, METABALL, NURB, PG, SUBMODEL and PNTS. |
==Detailed project description== | ==Detailed project description== | ||
− | ===Introduction=== | + | === Introduction === |
− | The python-bindings allows for easy and simple access to the BRL-CAD APIs for geometry construction and manipulation. These bindings work by parsing the header files for the installed version of BRL-CAD, then construct a standard library of abstractions around the bindings | + | The python-bindings allows for easy and simple access to the BRL-CAD APIs for geometry construction and manipulation. These bindings work by parsing the header files for the installed version of BRL-CAD, then construct a standard library of abstractions around the bindings. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | === BRL-CAD in Python a brief Summary === | ||
+ | BRL-CAD python is an ongoing effort to use the brl-cad APIs in python. There are several advantage of binding BRL-CAD APIs in python. Primere among them is to easily modify certain functionalities. To use the advantage of a strong Object-Oriented version of python and its scripting way, which makes it easier for developers to make quick changes. Python-brlcad uses ctypes to wrap the BRL_CAD libraries. This could have been done by hard-coding the loading of the libraries in python files, which would have meant tight coupling to the BRL-CAD version they wrap. Instead of doing that, a dynamic wrapper generator ''ctypesgen'' is used which reads the BRL-CAD headers (*.h), and generate the ctypes wrapper code which is then written into a python file. | ||
==Sample Codes and Tools== | ==Sample Codes and Tools== | ||
I have already wrapped vol primitive in python. This has been merged by Csaba in his repository. Details can be found at [2]. | I have already wrapped vol primitive in python. This has been merged by Csaba in his repository. Details can be found at [2]. | ||
+ | |||
+ | ==Deliverable== | ||
==Importance of the Project== | ==Importance of the Project== | ||
− | + | . | |
− | ==Time availability== | + | == Time availability == |
− | Coding period GSOC time line falls in my holidays. My University exams finishes on 15th May 2014 and my joining date at Sapient Nitro (the software company where I have been recruited) will fall in mid- September or October. Thus I will be free completely. I can spend | + | Coding period GSOC time line falls in my holidays. My University exams finishes on 15th May 2014 and my joining date at Sapient Nitro (the software company where I have been recruited) will fall in mid- September or October. Thus I will be free completely. I can spend 5-6 hours a day on this project. |
− | == | + | ==Development schedule== |
− | |||
− | |||
− | |||
− | |||
− | + | ==My preparation for the Project== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==My preparation for the Project== | ||
* My preparation for this project began by looking at the development – logs of previous students.. | * My preparation for this project began by looking at the development – logs of previous students.. | ||
* Further I contacted few of them (Kesha and Mohit from GSOC 2013) who gave insights on choosing a project. | * Further I contacted few of them (Kesha and Mohit from GSOC 2013) who gave insights on choosing a project. | ||
Line 142: | Line 36: | ||
* I successfully submitted a pull request (with VOL primitive) which was merged in the repository. [2] | * I successfully submitted a pull request (with VOL primitive) which was merged in the repository. [2] | ||
− | == Why BRL-CAD? == | + | == Why BRL-CAD? == |
− | BRL-CAD as an organization has well documented procedures. It has a defined structure for GSOC students. I tried with other organizations but found BRL-CAD as more welcoming for students with intermediate skills. | + | BRL-CAD as an organization has well documented procedures. It has a defined structure for GSOC students. I tried with other organizations but found BRL-CAD as more welcoming for students with intermediate skills. |
− | == Why | + | == Why you? == |
− | |||
== References == | == References == | ||
Line 156: | Line 49: | ||
[3] http://brlcad.org/wiki/BRL-CAD_Primitives | [3] http://brlcad.org/wiki/BRL-CAD_Primitives | ||
− | [4 | + | [4] http://sourceforge.net/p/brlcad/mailman/message/31785283/ |
− | |||
− | |||
− | |||
− |