Editing User:Amarjeet Singh Kapoor/GSoC2016/Project

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 44: Line 44:
 
=== '''''Detailed Description''''' ===
 
=== '''''Detailed Description''''' ===
  
The basic implementation of the this project is almost done in form of prototype. There is need to modify structure of the project.We have to divide the task in to there parts:
+
The basic implementation of the this project is almost done in form of prototype. There is need to modify structure of the project.We have to divide the task in to there parts:
[[File:image05.png|thumbnail|center|150px]]
 
 
<dl>
 
<dl>
 
  <dt>'''Front end'''</dt>
 
  <dt>'''Front end'''</dt>
Line 83: Line 82:
 
# If user specifies ''@parameter([1:10])'' then it will take the default input widget like it's working in its present state.
 
# If user specifies ''@parameter([1:10])'' then it will take the default input widget like it's working in its present state.
  
We will extend the code in ''ParameterEntryWidget::setValue()''for implementation purpose.
+
We will extend the code in ''ParameterEntryWidget::setValue()''for implementation purpose.  
Following will be GUI widgets that will be supported in the scope of this project:
+
[[File:image05.png|thumbnail|center|150px]]
 
 
<dl>
 
<dt>Proposed syntax</dt> <dd>parameter([ InputType,attributes],[values])</dd>
 
<dt>Input widget options</dt>
 
<dd>
 
    <ol>
 
        <li>Spinbox
 
        <ul>
 
            <li>attributes -: min value,  max value,  increment size</li>
 
            <li>E.g. parameter([“spinbox”,IS],[  MinValue : MaxValue ])</li>
 
        </ul>
 
        </li>
 
        <li>Checkbox
 
        <ul>
 
            <li>E.g. parameter([“checkbox”],[true] )</li>
 
        </ul>
 
        </li>
 
        <li>radio button<ul>
 
            <li>options -: name of first value while be default</li>
 
            <li>E.g. parameter([“radiobutton”],[firstvalue,secondvalue,...] )</li>
 
        </ul></li><li>Vector
 
        <ul>
 
            <li>Attributes -:min value ,max value, increment size</li>
 
            <li>Question -: Max number of spinbox to be supported?</li>
 
        </ul></li>
 
        <li>slider (horizontal)
 
        <ul>
 
            <li>attribute -: min value,  max value, increment size(IS)</li>
 
            <li>E.g. parameter([“Hslider”,IS],[ MinValue : MaxValue] )</li>
 
        </ul></li>
 
        <li>slider (vertical)
 
        <ul>
 
            <li>attribute -: min value  max value</li>
 
            <li>E.g. parameter([“Vslider”,IS],[ MinValue  : MaxValue] )</li>
 
           
 
        </ul></li>
 
        <li>Text-:<ul>
 
        <li>attribute-: size of text</li>
 
        <li>E.g. parameter([“Text”,size of text] )</li>
 
        </ul></li>
 
        <li>Default -: When no input parameter widget is specified like at present stage.<ul>
 
        <li>E.g. Parameter([1 : 10])</li></ul></li>
 
    </ol>
 
</dd>
 
</dl>
 
 
</p></blockquote></li>
 
</p></blockquote></li>
  
Line 151: Line 105:
  
 
e.g. We can give a save button on top of parameter list which will save the new values in the .scad file and we can give optional save button for saving the individual parameter in parameter window.
 
e.g. We can give a save button on top of parameter list which will save the new values in the .scad file and we can give optional save button for saving the individual parameter in parameter window.
 
 
 
</p></blockquote></li>
 
</p></blockquote></li>
  
Line 179: Line 131:
  
 
[[File:image03.jpg|frame|center|150px|screenshot 3]]
 
[[File:image03.jpg|frame|center|150px|screenshot 3]]
 
We can do this by not only storing the parameters based on name only but by both name of parameter and Type of data in parameter.
 
  
 
</p></blockquote></li>
 
</p></blockquote></li>
Line 198: Line 148:
 
* Study existing parameter widget code and will try fixing some existing bugs.
 
* Study existing parameter widget code and will try fixing some existing bugs.
  
'''23rd May-9th June'''
+
'''Week 1'''
*Make Front end ( UI part) separate from rest of code. 
+
 
*Make different object for different input option to be supported.
+
* Write prototype code to add more widget options.
*Check each use case associated with each parameter widget. 
+
* Take community feedback on it.
*Improve UI 
+
 
*Take community feedback for further changes 
+
'''Week 2'''
*Documentation 
+
 
'''10th June-26th June'''
+
* Check each use case associated with it.
*Make interface between Frontend and Backend (parameter object) 
+
* Finalise the code for specifying the input parameter widget.
*Structure it to make it independent for back-end 
+
* Write documentation for this part of code.
*Code to inject parametric values in AST
+
 
*Solving issues found by other people on using this code. 
+
'''Week 3'''
*Documentation 
+
 
'''Mid term'''
+
* Revising parsing and bison which will be used later this week.
'''27th June-24July'''
+
* Figure out special features which can be associated with each input widget like step value for spin box etc.
*Start with back-end  
+
* Start writing prototype code for that.
*Take community feedback on syntax to be supported  
+
 
*Code to Parse the .scad file to recognize parameters 
+
'''Week 4'''
*Code to extract the required parameter info from (AST) 
+
 
*Write Back-end to support the user specified input widget  
+
* Complete prototype code for all use case.
*Work on feature of Grouping of Parameters. 
+
* Take community feedback on it.
 +
* Figure out way to solve existing problems with associated with parameter window.
 +
 
 +
'''Week 5'''
 +
 
 +
* Complete study of bison.
 +
* Solving problems associated with parameter window.
 +
* Documenting the new code.
 +
 
 +
'''Week 6'''
 +
 
 +
* Study the existing code which can be used for assigning new values to parameterized variables.
 +
* Writing examples for new annotation syntax.
 +
* Add feature to change single parameterized variable in .scad file.
 +
 
 +
'''Week 7'''
 +
 
 +
* Add feature of assigning new values of parameterized variable to variables in .scad file.
 +
* Documenting the code till now.
 +
* Take community feedback.
 +
 
 +
'''Week 8'''
 +
 
 +
* Add feature of Saving scad file without annotation.
 +
* Documentation of work done so far.
 +
 
 +
'''Week 9'''
 +
 
 +
* Start working on feature of Grouping of Parameters.
 +
* Documenting the code.
 +
* Take community feedback.
 +
 
 +
'''Week 10'''
 +
 
 +
* Test all the code till now.
 +
* Solving issues found by other people on using this code.
 +
* Study the UI of some existing software and take people's feedback on how to improve it.
 +
* Write example .scad file for the new features added after mid term.
 +
 
 +
'''Week 11-12'''
 +
 
 +
* Take community feedback on UI of parameter window.
 +
* Improve UI of parameter window.
 +
* Write user document for all features added during this time.
 +
 
 +
'''Week 13'''
  
'''25th July -14th August'''
+
* More testing and cleaning.
*Add feature to save current value of parameter as default 
+
* Time to make up for missed milestone (if any).
*Write example .scad file for the new features added after mid term. 
 
*Add feature of Saving scad file without annotation. 
 
*Add any Additional feature required. 
 
  
'''15th August- 23August'''
+
'''Week 14'''
*Testing and cleaning. 
 
*Time to make up for missed milestone (if any). 
 
*Finalize everything 
 
  
'''23August onwards'''
+
* '''FINAL EVALUATION'''
  
*'''FINAL EVALUATION'''
 
 
<br />
 
<br />
  

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)