Difference between revisions of "User:Gabbar1947/GSOC17/Report"
From BRL-CAD
Gabbar1947 (talk | contribs) m |
Gabbar1947 (talk | contribs) |
||
Line 21: | Line 21: | ||
==='''Support for the 3D->2D projection'''=== | ==='''Support for the 3D->2D projection'''=== | ||
+ | |||
+ | {|align="right" | ||
+ | |[[Image:Example_annot.png|thumb|256px|Example annot object created with the in command]] | ||
+ | |} | ||
*Annotations always remain in the plane of the screen | *Annotations always remain in the plane of the screen | ||
Line 29: | Line 33: | ||
https://sourceforge.net/p/brlcad/patches/471/#cd2e | https://sourceforge.net/p/brlcad/patches/471/#cd2e | ||
https://sourceforge.net/p/brlcad/patches/471/#acd7 | https://sourceforge.net/p/brlcad/patches/471/#acd7 | ||
+ | |||
Revision as of 13:18, 25 August 2017
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