User:3bhady
From BRL-CAD
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).