Difference between revisions of "User:3bhady"
From BRL-CAD
(Coding Period) |
(→Coding Period) |
||
Line 15: | Line 15: | ||
==== Required ==== | ==== Required ==== | ||
Final Exams period. | Final Exams period. | ||
− | Delivering summary on the related papers. (O) | + | * Delivering summary on the related papers. (O) |
− | Investigating SVGNest JS library (structure, utilities). | + | * Investigating SVGNest JS library (structure, utilities). |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
From 27/5 to 2/6 is my final exams week so my productivity won't be much and I'm making up for this time in the weekends and by working extra hours after 2/6. Deliverables won't be affected as I'm following the timeline for each period. | From 27/5 to 2/6 is my final exams week so my productivity won't be much and I'm making up for this time in the weekends and by working extra hours after 2/6. Deliverables won't be affected as I'm following the timeline for each period. | ||
Line 24: | Line 24: | ||
=== June 15-June 20 === | === June 15-June 20 === | ||
==== Required ==== | ==== Required ==== | ||
− | Extract useful functions from SVGnest JS. | + | * Extract useful functions from SVGnest JS. |
− | Write skeleton for unit tests for extracted functions.(T) | + | * Write skeleton for unit tests for extracted functions.(T) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== June 20 -June 28 === | === June 20 -June 28 === | ||
==== Required ==== | ==== Required ==== | ||
− | Write unit test for the geometry functions to be used.(T) | + | * Write unit test for the geometry functions to be used.(T) |
− | Implement the geometry utility functions.(C) | + | * Implement the geometry utility functions.(C) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== June 28-July 4 === | === June 28-July 4 === | ||
==== Required ==== | ==== Required ==== | ||
− | Writing unit test skeleton for placement algorithm.(T) | + | * Writing unit test skeleton for placement algorithm.(T) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== July 4- July 21 === | === July 4- July 21 === | ||
==== Required ==== | ==== Required ==== | ||
− | Implementing unit testing for placement algorithm.(T) | + | * Implementing unit testing for placement algorithm.(T) |
− | Implementing placement algorithm.(C) | + | * Implementing placement algorithm.(C) |
− | Parallelizing the placement algorithm.(C) | + | * Parallelizing the placement algorithm.(C) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== July 21-July 26 === | === July 21-July 26 === | ||
==== Required ==== | ==== Required ==== | ||
− | Design skeleton code for unit testing optimization algorithm.(T) | + | * Design skeleton code for unit testing optimization algorithm.(T) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== July 26-Aug 9 === | === July 26-Aug 9 === | ||
==== Required ==== | ==== Required ==== | ||
− | Implementing unit testing for optimization algorithm. (T) | + | * Implementing unit testing for optimization algorithm. (T) |
− | Implementing optimization algorithm.(C) | + | * Implementing optimization algorithm.(C) |
− | Determining threshold for when to stop optimizing. | + | * Determining threshold for when to stop optimizing. |
− | Adding needed buttons in GUI for allowing user to specify threshold for stopping optimization. (C) | + | * Adding needed buttons in GUI for allowing user to specify threshold for stopping optimization. (C) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A | ||
=== Aug 9-Aug 19 === | === Aug 9-Aug 19 === | ||
==== Required ==== | ==== Required ==== | ||
− | Testing the whole auto-arranging module against SVGnest library and fixing bugs if the outputs are not identical. (T) | + | * Testing the whole auto-arranging module against SVGnest library and fixing bugs if the outputs are not identical. (T) |
− | Testing the output through the perl GUI. (T) | + | * Testing the output through the perl GUI. (T) |
==== Activity Log For This Period ==== | ==== Activity Log For This Period ==== | ||
N/A | N/A |
Revision as of 14:42, 31 May 2019
Contents
Community Bonding Period
- Played around with code and build GUI.
- Found where is auto-arrange is being called and how it's called so that I could get a grasp of how it should be replaced. Supermill helped by giving me another use of auto-arrange.
- Looked for a faster way to build the project rather than waiting for 15 minutes when changing anything, LoH helped me with a faster way to build it.
- Investigated SVGNest JS code to get a feel of how the code is structured.
- Started investigating in the SVGNest desktop application as gege2b has pointed out there is an implementation in C for SVGNest. After investigating I found the implementation isn't fully in C only one function of it is C and the rest is the previous JS code.
- Today I'll start reading one of the papers.
- I've started reading "Complete and robust no-fit polygon generation for the irregular stock cutting problem" paper and it was very helpful. I went through the rabbit hole as the paper references other papers so I dived head first into reading them. I got a better understanding of the No-Fit Polygon and what role does it play in the whole auto-arrange algorithm, why it's useful and why it's better than it's predecessors.
- Tomorrow I'll take a look at SVGNest and compare how they implement the NFP with what the paper suggests. Today I'm studying for my final exams in my University tomorrow.
- Finished Reading the required papers and took notes to start summarizing them.
Coding Period
May 27-June 15
Required
Final Exams period.
- Delivering summary on the related papers. (O)
- Investigating SVGNest JS library (structure, utilities).
Activity Log For This Period
From 27/5 to 2/6 is my final exams week so my productivity won't be much and I'm making up for this time in the weekends and by working extra hours after 2/6. Deliverables won't be affected as I'm following the timeline for each period.
- Investigated SVGNest C and JS code to find out what has changed between these two projects and if I can make use of the C implementation.
- Took notes on the related papers and started summarizing them.
- Designing bounding object function to get a 2d boundaries for the objects to work with.
June 15-June 20
Required
- Extract useful functions from SVGnest JS.
- Write skeleton for unit tests for extracted functions.(T)
Activity Log For This Period
N/A
June 20 -June 28
Required
- Write unit test for the geometry functions to be used.(T)
- Implement the geometry utility functions.(C)
Activity Log For This Period
N/A
June 28-July 4
Required
- Writing unit test skeleton for placement algorithm.(T)
Activity Log For This Period
N/A
July 4- July 21
Required
- Implementing unit testing for placement algorithm.(T)
- Implementing placement algorithm.(C)
- Parallelizing the placement algorithm.(C)
Activity Log For This Period
N/A
July 21-July 26
Required
- Design skeleton code for unit testing optimization algorithm.(T)
Activity Log For This Period
N/A
July 26-Aug 9
Required
- Implementing unit testing for optimization algorithm. (T)
- Implementing optimization algorithm.(C)
- Determining threshold for when to stop optimizing.
- Adding needed buttons in GUI for allowing user to specify threshold for stopping optimization. (C)
Activity Log For This Period
N/A
Aug 9-Aug 19
Required
- Testing the whole auto-arranging module against SVGnest library and fixing bugs if the outputs are not identical. (T)
- Testing the output through the perl GUI. (T)
Activity Log For This Period
N/A
Deliverables are marked in the timeline as follows: Code is marked as (C). Tests are marked as (T). Others are marked as (O).