Editing User:Ali Haydar/GSOC19/Report


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 1: Line 1:
=='''Annotations:Implement more annotation support: labels, notes, and dimensions| Project Report'''==
=='''Annotations:Implement more annotation support: labels, notes, and dimensions| Project Report'''==
The project was divided into three parts:
The project was divided into two parts:
*Fixing bugs in the annotation primitive.
*Fixing bugs in the annotation primitive.
*Extending the current annotation to have more features.
*Extending the current annotation to have more features.
==='''Fixing bugs in the annotation primitive'''===
==='''Fixing bugs in the annotation primitive'''===
**Annotation leader line bug: the annotation leader line was invisible because of an uninitialized variable.
**Annotation leader line bug: the annotation leader line was invisible because of uninitialized variable.
**Short annotations bug: using numbers for label results in no label "short annotation is not drawn":
the cause of this bug is that all the annotation points are in display space and we should consider just
the point that exists in the model space.
**new bounding box function:
the existed bounding box function was dealing in a wrong way with the long annotations because it's vlist is constructed from more than one memory chunk so the display mode was not memorized by the old function.
**Position adjustment of the annotations:
|[[File:Currentpos.png|thumb|256px|The current state of position flags ]]
the old implementation of the annotation considered just the top right (TR) relative position of the text with respect to the reference point. this patch implements the nine possible relative positions
**Bug in L command when used on the annotation primitive: there inconsistent behavior in exporting and importing the label of the annotation to the database this patch fix that
**Bug due to ant_label_dimensions() function: this bug was due to wrong initialization of bu_list structure in this function.
==='''Extending the current annotation to have more features'''===
**Drawing a bounding box around the label text:
The user may want to have a box around the text this patch implement this feature.
|[[File:Uplodbox.png|thumb|256px|bounding box around the label ]]
**Annotations editor: this feature is implemented based on the existing sketch editor.
|[[File:Ant edt.png|thumb|256px|Annotations editor ]]
**Dimension line annotation: this feature enables the user to add a dimension line between two points in the wireframe view.
|[[File:DL.png|thumb|256px|Annotations editor ]]
**Extending the annotation text segment structure: the text segment size and rotation angle was fixed this patch add these parameters to the text segment structure.
**Extending the annotation internal to have 3d verts vector this will be used for the future development of the dimension line
** We have made some test on the added features and a unit test program to test a function in vlist.c.
Here is the link to my  [https://brlcad.org/wiki/User:Ali_Haydar Proposal]
The tasks mentioned in the proposal are either completed or approached partially and needs work and discussion with the society.
|[[File:Ex.png|thumb|256px|example ]]
'''Project Extension'''
*These are some of the tasks that I aim to work on in the near future:
**Closing all the open issues and keep developing the annotation primitive.
**Refining the bounding box for the text.
**Develope the dimension line annotation.
**Determine and define the annotation types supported by in command.
**Develope a new command for other types of annotations
*Documentations has been provided  [https://brlcad.org/wiki/Annot_dimension_line dimension_line] ,  [https://brlcad.org/wiki/Annot_label_box label_box] 
*[https://brlcad.org/wiki/Ali_Haydar_Dev_log Link] to my daily logs.

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)