Difference between revisions of "User:Sharan.nyn/GSoC18/Report"
From BRL-CAD
Sharan.nyn (talk | contribs) (→new libanalyze API and check command that uses this API) |
Sharan.nyn (talk | contribs) (→new libanalyze API and check command that uses this API) |
||
Line 47: | Line 47: | ||
* The check command had 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] | ||
+ | |||
+ | * As there was already a 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 Log] | ||
=== gqa and rtcheck based on the new libanalyze API === | === gqa and rtcheck based on the new libanalyze API === |
Revision as of 07:53, 10 August 2018
Contents
- 1 Project Report : Check Command and Overlaps Tool
- 1.1 libanalyze function -- analyze_overlaps and libged command -- check_overlaps
- 1.2 rtcheck based on libanalyze's analyze_overlaps function
- 1.3 libanalyze function for grid generation
- 1.4 overlaps tool based on check.sh
- 1.5 new libanalyze API and check command that uses this API
- 1.6 gqa and rtcheck based on the new libanalyze API
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
- I started to work on better object selection to make it like the prototype image I created during the application period (image)
- The following commits were done -
- Better object selection: better_object_sel.gif
- Final image:
- 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
- As there was already a 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 - Log