Editing User:Vikram Atreya/GSoC21/Log

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 8: Line 8:
 
== Weekly update - Coding Period ==
 
== Weekly update - Coding Period ==
 
* Week - 1
 
* Week - 1
** Day 1-2
+
** Working version of undo command implemented in mged which prints name of database when command is given.
*** 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()
*** 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
 
* 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
 
 
 
* 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
 
 
 
* 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
 

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)