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 21: Line 21:
 
==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==
Line 47: Line 47:
 
==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 around 40-45 hours a week.
 
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 around 40-45 hours a week.
 
==Deliverables==
 
*Wrapping of the primitives.
 
*Writing tests of the primitives.
 
*Writing examples of to create reasonable primitives.
 
*Updating the wiki page with details of each primitive.
 
 
  
 
==Development Schedule==
 
==Development Schedule==
'''Note :- Whenever a primitive or a ctype adaptor is implemented, this includes writting the tests and the code simultaneously.'''
+
===Community Bonding Period===
 +
*Implement travis for automated code checking on github.
 +
*Ask for other cleaning works from the mentors, if required.
  
*'''Community Bonding Period'''
+
===Week 1 (19 May)===
**Implement travis for automated code checking on github.
+
*ARS
**Ask for other cleaning works from the mentors, if required.
+
*CLINE
 +
*GRIP
  
*'''Week 1 (19 May)'''
+
===Week 2 (26 May)===
**ARS
+
*PG
**SUPERELL
+
*SUPERELL
**BINUNIF
 
  
*'''Week 2 (26 May)'''
+
===Week 3 (2 Jun)===
**HALF
+
*BINUNIF
**Metaball
+
*METABALL
**Submodal
 
  
*'''Week 3 (2 Jun)'''
+
===Week 4 (9 Jun)===
**EBM
+
Implement Ctypes Adaptor for
**BOT
+
*bu_mapped_file
**PNTS
+
*rt_db_internal
 +
*bu_vls
  
*'''Week 4 (9 Jun)'''
+
===Week 5 (16 Jun)===
**SUBMODEL
+
*ANNOTATION
**ANNOTATION
+
*CONSTRAINTS
**HRT
 
  
*'''Week 5 (16 Jun)'''
+
===Week 6 (23 Jun)===
**HF
+
*EBM
**POLY
+
*HALF
**GRIP
 
**CONTRAINTS
 
  
*'''Week 6 (23Jun)'''
+
===Mid Term evaluation===
**DSP
 
**Also do code cleaning for the mid-term evaluation.
 
**Write a mid-term wiki entry regarding the experience.
 
  
*'''Mid Term evaluation'''
+
===Week 7 (30 Jun)===
 +
*Implement ctypes adaptor for db_i
 +
*Implement ctypes adaptor for ON_BREP
 +
*HRT (efforts are already under way to complete this.)
 +
*Also do code cleaning after the mid-term evaluation.
  
*'''Week 7 (30Jun)'''
+
===Week 8 (7 July)===
**Understand BREP.
+
*DSP
**Create simple examples.
 
**Get hold of OpenNurbsLibrary
 
**Create dummy examples to wrap constructors of C++ classes and find the methods to be employed.
 
  
 +
===Week 9 (14 Jul)===
 +
*HF
 +
*BOT
  
 +
===Week 10 (21 Jul)===
 +
*NURB
 +
*SUBMODEL
  
*'''Week 8 & 9 (7 Jul, 14 Jul)'''
+
===Week 11 (28 Jul)===
**Wrap the BREP constructors to be able to create simple BREPs
+
*PNTS
***ON_BrepVertex
+
*BREP
***ON_NurbsSurface
 
***ON_BrepFace
 
***ON_BrepLoop
 
***ON_2dPoint
 
***ON_BrepEdge
 
***ON_BrepTrim
 
  
+
===Week 12 (4 Aug)===
*'''Week 10 & 11 (21 Jul, 28 Jul)'''
+
*Code cleaning.
**Wrap the ON_Brep primitive.
+
*Complete Tests, if left somewhere.  
**Wrap the BREP primitive using the above.
+
*find issues and bugs which are left and resolve them.
**Improve the above to accomodate examples.
 
   
 
*'''Week 12 (4 Aug)'''
 
**Create BREP examples for python.
 
**Use the wrapped BREP constructors.
 
**Create a wiki page for using BREP in python-brlcad.
 
  
*'''Week 13 [Pencil Down] (11 Aug)'''
+
===Week 13 [Pencil Down] (11 Aug)===
**Run all the tests again. (of course a script ;), Just to be 100 % sure)
+
*Run all the tests again. (ofcourse a script ;), Just to be 100 % sure)
**Code Cleaning.
+
*Code Cleaning.
**Write Project Summary.
+
*Write Project Summary.
**Make Blog Entry Regarding Experience.
+
*Make Blog Entry Regarding Experience.
**Make a group of all the diffs to submit to Google Melange
+
*Make a group of all the diffs to submit to Google Melange
  
*'''Week 14 (18 Aug)'''
+
===Week 14 (18 Aug)===
**Submit Final Evaluation and Code to the Melange Home
+
*Submit Final Evaluation to the Melange Home
  
 
==My preparation for the Project==
 
==My preparation for the Project==
Line 146: Line 130:
  
 
== Why me? ==
 
== Why me? ==
I will not say that I am a advanced level software developer but I can assure of my agility. I am a quick learner. I like to explore and learn. I have good communication skills. I have demonstrated my skills during the preparation of my porposal. I have submitted my pull request for the code (VOL primitive) and which was successfully merged by one of the mentors.
 
  
 
== References ==
 
== References ==
Line 159: Line 142:
  
 
[5] http://sourceforge.net/p/brlcad/mailman/message/31785283/
 
[5] http://sourceforge.net/p/brlcad/mailman/message/31785283/
 
[6] http://sourceforge.net/p/brlcad/mailman/brlcad-devel/thread/CACb7qUDk5pJ6yWsbxJOwUb0cvH1hsqB0RBditd3n%2BU1xPQ2fjg%40mail.gmail.com/#msg32107236
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)