Difference between revisions of "User:Sharan.nyn/GSoC18/Report"

From BRL-CAD
(overlaps tool based on check.sh)
(overlaps tool based on check.sh)
Line 37: Line 37:
 
* The following commits were done -
 
* The following commits were done -
 
** [https://sourceforge.net/p/brlcad/code/71151/ r71151] [https://sourceforge.net/p/brlcad/code/71152/ r71152] [https://sourceforge.net/p/brlcad/code/71153/ r71153] [https://sourceforge.net/p/brlcad/code/71154/ r71154] [https://sourceforge.net/p/brlcad/code/71155/ r71155]
 
** [https://sourceforge.net/p/brlcad/code/71151/ r71151] [https://sourceforge.net/p/brlcad/code/71152/ r71152] [https://sourceforge.net/p/brlcad/code/71153/ r71153] [https://sourceforge.net/p/brlcad/code/71154/ r71154] [https://sourceforge.net/p/brlcad/code/71155/ r71155]
 +
* Better object selection: [https://brlcad.org/wiki/File:Overlaps_tool2.gif better_object_sel.gif]
  
 
=== new libanalyze API and check command that uses this API ===
 
=== new libanalyze API and check command that uses this API ===

Revision as of 08:32, 10 August 2018

Project Report : Check Command and Overlaps Tool

The work done for the project can be split into the following parts:

libanalyze function -- analyze_overlaps and libged command -- check_overlaps

 NOTE: This was later replaced with better code by me ;)
  • The main goal behind adding a check_overlaps command was that libged's rtcheck command acted as a wrapper for the rtcheck program, and ran the rtcheck program with execvp command -- this was not desired as the execution was done in a different process.
  • I added the check_overlaps command which had the same options as rtcheck command and the logic behind shooting of rays was done in libanalyze.
  • The overlaps were processed on libged side with callback functions.
  • The submitted patches were committed by Daniel --
  • I was given commit access to the repo :) and I did the following commits:
  • Documentation work related to check_overlaps -- #497

rtcheck based on libanalyze's analyze_overlaps function

 NOTE: This was later replaced with better code by me ;)
  • Since the logic for shooting the rays was in libanalyze function analyze_overlaps.
  • My next task was to refactor rtcheck program to use analyze_overlaps.
  • #495 was submitted.

libanalyze function for grid generation

  • Function that sets the ray starting point and ray directions in a grid form was added.
  • This helped reduce the parameters passed to analyze_overlaps -- all grid related functions and data was passed in two variables.
  • The following commits were done -
  • Later triple grid support and refining was added -

overlaps tool based on check.sh

  • One of the main goals of the project was to remove the need of the check.sh because it was a bash script it meant it didn’t work for windows system.
  • The same functionality was added with help of a .tcl file.
  • The following commits were done -
  • How it looked: overlaps_tool.gif

new libanalyze API and check command that uses this API