This is the final week of the GSoC 2020 Coding Period. It has been a great journey so far and more importantly, I got to learn a lot.
As mentioned in the previous blog, the last week was spent in resolving the PR reviews. I was able to resolve most of it.
I added docstrings for all the functions in the cxx files, added more properties to be set by the user for building the navigation mesh.
I also added a new function add_polygon() for the user to add extra polygons to the input geometry, which would then be processed as vertices and triangles to generate the navmesh. Two overloaded functions have been implemented for the same, one with three LPoint3 input arguments, i.e. a triangle polygon as input, while other with a PTA_LVecBase3 input argument, i.e. a polygon with more than two vertices as input.
I removed the unnecessary comments and debug statements from the code, cleaned it up. I used the Panda3d's config to notify, like navigation_cat.error(), navigation_cat.info() etc. Also since panda3d's world units need not be always Z-up, so the mentors suggested to implement a transformation matrix which would convert the points from Panda3D's default coordinate system to Y-up coordinate system (Recast navigation's coordinate system) and then back to Panda3D's default.
This week, being the final week, I need to prepare for the code submission and resolve the remaining PR reviews.
It was a great summer!
Thank you! Stay safe always!