User:Gabbar1947/GSOC17/Report
From BRL-CAD
< User:Gabbar1947
Revision as of 13:14, 25 August 2017 by Gabbar1947 (talk | contribs)
Contents
Annotations: Implement support for 2D annotations | Project Report
The project was divided into two parts:
- Creating a new primitive for annotations
- Rendering the primitives to the wireframe view
- Support for the screen projection
Creating a new primitive for annotations
- What was basically required was a container to hold things together
https://sourceforge.net/p/brlcad/patches/469/#ea23 https://sourceforge.net/p/brlcad/patches/469/#34f1
Rendering the primitive on screen
- The next part was to add support for the visualization of the primitive
- Input for the primitive also handled through the 'in' command in the patches mentioned below
https://sourceforge.net/p/brlcad/patches/471/#97f3 https://sourceforge.net/p/brlcad/patches/471/#4b72
Support for the 3D->2D projection
- Annotations always remain in the plane of the screen
- Modifying the projection matrices for all the display managers was another task
- Scaling the annotations was another issue
- All of this was handled by the patches mentioned below
https://sourceforge.net/p/brlcad/patches/471/#cd2e https://sourceforge.net/p/brlcad/patches/471/#acd7
Project Extension
After discussions with the mentors, some extension ideas came up:
- Functionality to set up the annotation properties for the primitive
- Extension for the geometric shape of the annotation
- Common functionality for the annotation and the sketch primitive in order to reduce redundancy
- Features related to the coordinate system like the annotation scaling
- Algorithm to provide a bounding box for the text using the relative coordinates