BRL-CAD : LOGS

Community Bonding :

  • [May 5 – May 20]
    • The development environment successfully set
    • Pipeline reviewed
    • Explored the codebase
  • [May 21 – May 30]
    • Defined the container for annotations
    • Defined the internal object structure for the primitive
    • Discussed naming conventions with the community
    • Patch submitted for review

Coding Period :

  • [May 31]
    • Made changed to the version 4 database records
    • Defined struct annotation_rec in db4.h
    • Defined magic number for the annotation primitive
    • Submitted patches for the corresponding changes
  • [June 1]
    • Defined ann/ann.c in librt/primitives
    • The first eight functions to be included are:
      • rt_check_ant()
      • rt_annotation_prep()
      • rt_annotation_print()
      • rt_annotation_shot()
      • rt_annotation_norm()
      • rt_annotation_curve()
      • rt_annotation_uv()
      • rt_annotation_free()
    • Made the corresponding changes to table.c
    • Patches for the corresponding changes submitted
    • Took inputs regarding the import functions for the version 4 databases
  • [June 2]
    • Explored some content regarding version 4 and version 5 databases
    • Finally defined the import and the export functions for the version 4 databases namely :
      • rt_annotation_import4()
      • rt_annotation_export4()
    • Started working on the version 5 database, import and export functions
    • Patch to be submitted along with the import5() and export5() functions
  • [June 3]
    • Got some insight into g2asc and asc2g conversion
    • The rt_annotation_import5() function defined
  • [June 4]
    • Explored the version 5 database and dived into various database header files and operations concerned
    • The rt_annotation_export5() function defined
    • Patch to be submitted for review
    • Aim to write rt_ant_free(), rt_annotation_ ifree, rt_copy_ant() and rt_copy_annotation() in the next few days.
  • [June 5]
    • Went through the codebase again, tried to figure out some broken links.
    • Still struggling with some parts, but will figure them out with time.
    • Two functions defined:
      • rt_ant_free()
      • rt_annotation_ifree()
    • Started on with copy functions
  • [June 6]
    • Came to know that the version 4 database support is of no use.
    • Although I wrote the functions and had a hard time but still it’s better to stop before some other issues arise.
    • rt_annotation_describe() defined
    • rt_copy_ant() and rt_copy_annotation() defined
    • Aim to finish writing the functions in annotation.c quickly and then dive into the tcl command line input and writing the parameters received into the database.
  • [June 7]
    • Functions defined today : 
      • rt_annotation_form()
      • rt_annotation_get()
      • ant_to_tcl_list()
      • rt_annotation_params()
  • [June 8]
    • Functions defined today:
      • rt_annotation_adjust()
      • get_tcl_ant()
      • ant_to_vlist()
      • rt_sketch_plot()
      • table.c looks good, we’ve got some functions 😉
      • Working on seg_to_vlist(), curve_to_vlist()
  • [June 9]
    • The function left to import is brep, working on it.
    • Tried to build, got some errors. Rectified those.
    • “annotation” changed to “anno”. [error: initializer-string for char array is too long]
  • [June 10]
    • Spent a lot of time reading the codebase and trying to figure out the seg_to_vlist() function.
    • The function definition halted at present, till the support of 3D->2D coordinate system is finalized.
    • Work finished early to that proposed in the timeline.
    • Working on the user input regarding annotations.
    • Patch to be submitted today.
  • [June 11]
    • Went through the libged library
    • Spent the whole day reading code and finalizing the annotation.c file
    • Still some parts of the file require the existence of the relative  placement flag values.
    • Immediate next tasks:
      • Provide support in typein.c for the “in” command
      • Define the placement flags in the file as suggested by the mentors
      • Define the functions in annotate.c for the “annotate” command that will be used for editing the primitive
  • [June 12]
    • Flags defined in rt/geom.h ( a total of 15 placement flags)
    • Corresponding changes made to the annotation.c file
    • rt_check_pos() defined: basically gives out the relative position of the text
  • [June 13]
    • char *p_anno[] defined in typein.c
    • Currently working on the function in_anno()
    • patches for anno.c and geom.h submitted
  • [June 14]
    • Functions defined in the annot.h  in include/rt/primitives
    • Tried to understand the functioning of various functions and files
    • Learned about the linker
  • [June 15]
    • Made the corresponding changes based on the feedback
    • Officially finished modifying all the concerned files in include/
    • anno” renamed to “annot
    • Checking files for indentation errors
  • [June 16]
    • Running the build and rectifying the errors
    • Started editing various files for minor changed in src/
    • Minor changes made to labels.c, magic.c, get_solid_kp.c, search.c
  • [June 17]
    • Working on the input format of the primitive
    • Will come up with the working model in 1-2 days
    • Will submit the rectified annot.c patch once this task gets over
  • [June 18]
    • Editing the concerned Cmakelists.txt
    • Compliling the code for errors
    • Solving the bugs that are arising
    • Indentation issues rectified
  • [June 19]
    • Solving the issues arising on building
    • Rectified all the errors in annotation.c
    • Some errors arising due to seg_to_vlist: working on that
  • [June 20]
    • Screen Shot 2017-06-21 at 8.19.57 AM
    • The input model is working
    • The input is almost sorted out, will finalize it after taking inputs from the community
  • [June 21]
    • Had an exam, didn’t do much
    • Reviewed the annot.c for a final time for errors
    • Based on the input by mentors, I’m currently aiming to display text on the user desired location
    • Once this is done, there won’t be difficulty in putting in the line, beizer and nurb
    • The input looks like this currently:
    • Screen Shot 2017-06-21 at 9.53.33 PM.png
    • The first part of the project is over, next what I aim to do is focus on the display section of the project.
    • Will be submitting the patch containing all the changes in a day
  • [June 22]
    • defined function rt_pos_flag() in annot.c
    • This function basically finds the location flag based on the user input( horizontal and vertical)
    • Currently, working on solving the segmentation fault arising on taking the input.
  • [June 23]
    • Rectified the build errors
    • Submitted the patch containing all the changes
    • Jumping on the next task i.e. the display part of the project, currently exploring the code
  • [June 24]
    • Spent hours reading the existing code
    • Started writing the code for the display part
    • Still, typein.c has some unresolved issues, working on them
    • Screen Shot 2017-06-24 at 11.17.30 PM
    • “l”, “cp”,  “adjust” commands work well without errors
  • [June 25]
    • Struggled with many segmentation faults for hours
    • Some got resolved, the others are yet to be
    • Reading the current code in libdm
  • [June 26]
    • Tried manipulating the labels.c file and displayed some text on the screen
    • get_type.c, db5_types.c modified
  • [June 27]
    • Tested some annotations. These are currently in the 3D space and not in the plane of the screen
    • Screen Shot 2017-06-27 at 8.03.38 PM.png
    • Support for 3D->2D is yet to be implemented as the third part of the project
    • annot.c defined in libwdb (mk_annot)
  • [June 28]
    • wdb_obj.c modified
    • The editor was crashing so spent time debugging the code
    • Rest of the time went in reading the existing code, and preparing the basic pipeline for the graphics end.
  • [June 29]
    • plot() function is being worked upon
    • Thinking out ways of writing the seg_to_vlist() function
    • Once this  is done, one will be able to see the basic structure of the annotation in the wireframe view
  • [June 30]
    • A day’s break
  • [July 1]
    • plot function under construction
  • [July 2]
    • The basic pipeline formulated for the display
    • Currently working on mapping the input 2D coordinates to the 3D space
    • Aim to retrieve the current plane unit vectors out of the current display view
    • This is the only thing left in the seg_to_vlist()
  • [July 3]
    • Patch submitted with all the amendments
    • Had a discussion as to how to proceed further
  • [July 4]
    • gdb was giving issues on macos
    • Moved to a virtual box
  • [July 5]
    • Defined the three cmd values in vlist.h
    • Working on functions in vlist.c
  • [July 6]
    • vlist.h modified
    • plot() function is almost there
  • [July 7]
    • checked the code for errors
    • patch submitted
  • [July 8]
    • Spent time reading code and formulating the timeline
  • [July 9]
    • modifications done on the base of reviews regarding the patch submitted
    • vlist.c modified
    • started working on the display manager files
  • [July 10]
    • patch submitted
    • working on dm-X.c
  • [July 11]
    • A new transformation matrix defined
    • The corresponding functions also defined
  • [July 12]
    • X_loadSMat() {where SMat is the new transformation matrix} defined
  • [July 13]
    • All the required changes made to the patch and submitted for review
  • [July 14 – July 18]
    • break
  • [July 19]
    • Initialized new commands in vlist
    • corresponding functions defined
    • Patch to be submitted by today itself
    • Plan to resolve the errors occurring through the “in annot” command
  • [July 20]
    • Made changes based on the discussion on the irc
    • dm-X.c is done, working on dm-tk.c
  • [July 21]
    • Compiled the code
    • Errors traced
    • Patch submitted for review
  • [July 22]
    • Tried to link typein.c to the text object
    • Solved the errors encountered
  • [July 23]
    • Errors related to the in command resolved
    • txt object is created in the memory
  • [July 24]
    • Label displayed on the screen.
    • in command works
    • Screen Shot 2017-07-24 at 6.08.37 PM
  • [July 25]
    • The errors related to label length worked upon
    • Translate works fine
    • Currently working on including line_seg as well to the view
  • [July 26]
    • Patch submitted for review
  • [July 27]
    • Debugging the code for the inclusion of line segment
    • Worked on the coordinate mapping on the x-y plane. The issue is resolved
  • [July 28]
    • Changed the mat_t to fastf_t and the corresponding dereferencing
    • drawVlist changed according the substitutions made
  • [July 29]
    • A day’s break
  • [July 30]
    • Started working on the other display managers
    • Spent time reading code
  • [July 31]
    • Line segment issue is resolved
    • Now we have both, the text container and the line container in the annotation
  • [Aug 1]
    • Functionality issues in rt_annot_ifree() resolved
    • mged doesn’t crash now
    • Screen Shot 2017-08-01 at 7.05.56 PM
  • [Aug 2]
    • dm-plot adapted to the changes
  • [Aug 3]
    • dm-ps adapted to the changes
  • [Aug 4]
    • The vlist issues regarding bbox sorted out
  • [Aug 5]
    • Spent time reading code
    • working on dm-ogl currently
    • Tried labelling some primitivesScreen Shot 2017-08-06 at 9.16.59 PM
  • [Aug 6]
    • Read a lot about opengl projection stacks
    • Came up with a pipeline to adapt the remaining display managers
  • [Aug 7 -8]
    • Modified the remaining display managers
    • Still facing some issues regarding them
  • [Aug 9]
    • Working on dm’s
  • [Aug 10]
    • Debugging errors in the dm’s
  • [Aug 11]
    • dm’s fixed
  • [Aug 12]
    • Working on the scaling issue in X dm
  • [Aug 13]
    • Found some issues with ogl, working on them
  • [Aug 14 -16]
    • Solving issues in the dm’s
    • Patch submitted
  • [Aug 17]
    • Documentation support
  • [Aug 18]
    • Working on scaling
  • [Aug 19]
    • Worked on the open issues
  • [Aug 20]
    • scaling issue solved, up for review
  • [Aug 21]
    • Working on dm-rtgl
  • [Aug 22]
    • Worked on the scaling issue
  • [Aug 23]
    • Patch created for review
  • [Aug 24]
    • Created a project report with current status Report
  • [Aug 25]
    • Finding a way out for rtgl after successive failed attempts
  • [Aug 26]
    • Submitted the final evaluation

GSoC 2017 is over, got to know about many new things. It was a good experience overall. I aim to keep working even after the period and work mainly on the future tasks mentioned in my Report (proposal). Although the project is over but still some things need to be worked upon, which will be accomplished through time. Thanks to the community and specially Daniel for being supportive throughout, it really means a lot.

 

Advertisements