Editing User:Sharan.nyn/GSoC18/Report

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 2: Line 2:
 
* The work done for the project can be split into the following parts:
 
* The work done for the project can be split into the following parts:
 
=== libanalyze function -- analyze_overlaps and libged command -- check_overlaps ===
 
=== libanalyze function -- analyze_overlaps and libged command -- check_overlaps ===
   NOTE: This was later replaced with better code, check it out [https://brlcad.org/wiki/User:Sharan.nyn/GSoC18/Report#new_libanalyze_API_and_check_command_that_uses_this_API here]
+
   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.
 
* 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.
 
* 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.
Line 14: Line 14:
  
 
=== rtcheck based on libanalyze's analyze_overlaps function ===
 
=== rtcheck based on libanalyze's analyze_overlaps function ===
   NOTE: This was later replaced with better code, check it out [https://brlcad.org/wiki/User:Sharan.nyn/GSoC18/Report#new_libanalyze_API_and_check_command_that_uses_this_API here]
+
   NOTE: This was later replaced with better code by me ;)
 
* Since the logic for shooting the rays was in libanalyze function analyze_overlaps.
 
* 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.
 
* My next task was to refactor rtcheck program to use analyze_overlaps.
Line 40: Line 40:
 
* Final image:
 
* Final image:
  
* [[File:Overlaps_tool_final.png|693px]]
+
* [[File:Overlaps_tool_final.png|400px]]
 
 
* Documentation was done -- [https://sourceforge.net/p/brlcad/code/71498/ r71498]
 
  
 
=== new libanalyze API and check command that uses this API ===
 
=== 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.
 
* 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.
 
* A libanalyze API was discussed that contained the backend logic of these commands in one place.
* The check command has sub-commands for - overlaps, mass, volume, surface area, gaps, adjacent air, exposed air and unconfined air.
+
* 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 -[http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log#Week_10 Log]
 
* This task involved many commits. For list of commits please refer to ''week 10 - week 12'' in my daily log available here -[http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log#Week_10 Log]
  
* Since I added a better command for checking overlaps (''check overlaps [options]''). I removed the old check_overlaps and analyze_overlaps function.
+
* 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 - [http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log#Week_13 Week-13]
* And adapted the code for the new check overlaps command. For commits refer to week 13's log - [http://brlcad.org/w/index.php?title=User:Sharan.nyn/GSoC18/Log#Week_13 Week-13]
 
  
* I also wrote some bash scripts to compare the outputs of check vs rtcheck/gqa -- [https://sourceforge.net/p/brlcad/code/71355/ r71355]
 
 
* 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]
  
Line 59: Line 55:
 
* Since the backend logic of gqa and rtcheck lives in libanalyze/api.c. The duplicated code in gqa and rtcheck can be removed.
 
* Since the backend logic of gqa and rtcheck lives in libanalyze/api.c. The duplicated code in gqa and rtcheck can be removed.
 
* rtcheck and gqa were changed to use the libanalyze functions.
 
* rtcheck and gqa were changed to use the libanalyze functions.
* work related to rtcheck and gqa can be found in the public Google Drive Folder linked below
 
  
 
=== Files ===
 
=== Files ===
This public Google Drive folder contains all the files which I worked on almost exclusively during the coding period -
+
Following are the files which I created and worked on exclusively -
* [https://drive.google.com/drive/folders/1WueiX-Cg21SpQ4lYmkhO6Qo40fwZSaaH?usp=sharing saran_narayan-gsoc18-brlcad]
+
* libged/check/*
 +
* libanalyze/check_options.c
 +
* libanalyze/GridGeneration/rectangular_grid.c
 +
* tclscripts/checker/menu.tcl
 +
* tclscripts/checker/OverlapFileTool.tcl
  
 
=== Logs ===
 
=== Logs ===
* [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]
* The log also contains links to all my commits and patches.
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)