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

From BRL-CAD
(Daily Log)
Line 52: Line 52:
 
* Documentation and man page for check command was added - [https://sourceforge.net/p/brlcad/code/71374/ r71374] [https://sourceforge.net/p/brlcad/code/71393/ r71393]
 
* Documentation and man page for check command was added - [https://sourceforge.net/p/brlcad/code/71374/ r71374] [https://sourceforge.net/p/brlcad/code/71393/ r71393]
  
== '''Files''' ==
+
=== '''Files''' ===
  
== '''[http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log Daily Logs]''' ==
+
==='''[http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log Daily Logs]''' ===

Revision as of 09:12, 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
  • Error creating thumbnail: File missing

new libanalyze API and check command that uses this API

  • The goal behind this task was to combine the geometry analysis tools -- rtcheck, gqa and glint into one command.
  • A libanalyze API was discussed that contained the backend logic of these commands in one place.
  • The check command had sub-commands for - overlaps, mass, volume, surface area, gaps, adjacent air, exposed air and unconfined air.
  • This task involved many commits. For list of commits please refer to week 10 - week 12 in my daily log available here -Log
  • Since I added a better command for checking overlaps (check overlaps [options]). I removed the old check_overlaps and analyze_overlaps function. For commits refer to week 13's log - Week-13
  • Documentation and man page for check command was added - r71374 r71393

Files

Daily Logs