User:Vikram Atreya/GSoC21/Log
From BRL-CAD
< User:Vikram Atreya
Revision as of 23:30, 24 June 2021 by Vikram Atreya (talk | contribs) (→Weekly update - Coding Period)
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
- 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 1-2