Difference between revisions of "User:Vikram Atreya/GSoC21/Log"
From BRL-CAD
(Updated week 3 logs) |
(Week 4 update) |
||
(One intermediate revision by the same user not shown) | |||
Line 55: | Line 55: | ||
* Week - 4 | * Week - 4 | ||
** Day 1-2 | ** Day 1-2 | ||
− | Done writing basic test to store and recover objects from a binary object | + | *** Done writing basic test to store and recover objects from a binary object |
+ | *** Stored internal data in binary object, storing external data is better since it contains type information as well | ||
+ | *** Switched code from storing internal to external of object | ||
+ | ** Day 3-4 | ||
+ | *** Ideated and tried different ways in which we could store the recovery data | ||
+ | *** Wrote code implementing a new struct in ged/defines.h | ||
+ | *** Mimicked history implementation for the struct | ||
+ | ** Day 5-6 | ||
+ | *** Implemented undo using the struct but realized it would not work | ||
+ | *** Thought of using char** arrays to store the commands | ||
+ | *** Have to discuss with mentor on a better approach |
Latest revision as of 15:01, 5 July 2021
Development Logs[edit]
Community Bonding Period[edit]
- Forked github repo and compiled working version of BRL-CAD
- Made the pages for project plan and dev logs
- Ideated various ways to implement undo and set constraints
Weekly update - Coding Period[edit]
- Week - 1
- Day 1-2
- Working version of undo command implemented in mged which prints name of database when command is given.
- Understood how commands use wrapper functions and function of cmd_ged_plain_wrapper()
- Set flags -n and -h aimed to execute multiple undos and show usage respectively
- Understood how hidden objects work, have to explore temporary file alternative to save backup objects
- Stuck, trying to iterate over all objects in database but not finding the right function
- Finally found way to iterate over all objects from move_all.c
- Converted undo.c to undo.cpp so that code can be more functional
- Day 3-4
- Had a discussion with my mentor how to proceed further on the undo
- Data accesible over all processes stored in _GLOBAL as name, value pairs
- Name of the last added object and last killed object stored in _GLOBAL
- Wrappers of make and kill modified to add the labels
- Introduced 3 variables in undo.cpp to keep track of latest_change and then take necessary action to undo
- Day 5-6
- Enabled undo for in command; Now working to enable undo for killall
- Did tutorials to understand how combinations and regions work
- Went in the wrong direction intially; Took a day to understand how combinations are stored
- Day 1-2
- Week - 2
- Day 1-2
- Encountered many bugs while implementing undo for killall
- Ubuntu had some problems; mouse and keyboard stopped working and stopped work for sometime
- Tired refactoring code of backup storage for make; Chose to make a gmd_cmd for it but did not happen, also felt it was not the best option
- Succesfully implemented undo for kill by modifying code in libged/killrefs; Might have to write a new wrapper for this
- Created new wrapper for g (group) command and implemeted undo for it; Some refinement left here
- Day 3-4
- Refined code of g cmd undo and updated PR
- Attempt at reefactoring code to libged/undo.cpp failed; Not right place to put the code
- Refactored make's undo code into mged/utility1.c and replaced code in make, in and g
- Solved major bug that made children objects disappear when any object was killed
- logic: renamed all leaves by adding sufffix, thereby poiting to imaginary objects and not hiding the references it had previously
- Day 5-6
- Implemented undo for mv and mvall
- Also restructured code in undo.cpp to accommodate more cmds easily
- Made a spreadsheet with status of implementation for all commands
- Day 1-2
- Week - 3
- Day 1-2
- Solved a long pending bug
- Day 3-4
- Took a break
- Day 5-6
- Started work on storing objects as data in binary objects
- Understood code of mk_binunif, make and libged/bo.c
- Day 1-2
- Week - 4
- Day 1-2
- Done writing basic test to store and recover objects from a binary object
- Stored internal data in binary object, storing external data is better since it contains type information as well
- Switched code from storing internal to external of object
- Day 3-4
- Ideated and tried different ways in which we could store the recovery data
- Wrote code implementing a new struct in ged/defines.h
- Mimicked history implementation for the struct
- Day 5-6
- Implemented undo using the struct but realized it would not work
- Thought of using char** arrays to store the commands
- Have to discuss with mentor on a better approach
- Day 1-2