Difference between revisions of "User:Vikram Atreya/GSoC21/Log"

From BRL-CAD
(Week 2- day 1&2 update)
(Week 2- day 3&4 update)
Line 33: Line 33:
 
*** Succesfully implemented undo for kill by modifying code in libged/killrefs; Might have to write a new wrapper for this
 
*** 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
 
*** 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

Revision as of 13:24, 18 June 2021

Development Logs

Community Bonding Period

  • 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

  • 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
  • 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