Ali Haydar Dev log

From BRL-CAD
Jump to navigation Jump to search

Community Bonding Period[edit]

  1. setting up the environment installing ubuntu in dual boot and rebuilding the project in windows and ubuntu
  2. working on bugs:- the annotation is pointing to the origin fixed and patch submitted the drawing of numerical annotation results in no annotation working on it and notice that after constructing the numerical annotation you can't draw anything in the graphical screen until writing the Z command in MGED or reopening the database.
  3. using the code to modify the Vlist to draw a box around the label it is like a hack, not a real function just an experiment, it makes me realize that the label drawing should not start from the reference point but a little bit further so the box doesn't touch the label.
  4. contacting with the mentors and asking about there opinions.


This page is will be edited to include what I've learned so far and served as a log for the coming development.[edit]

Coding period[edit]

  • May 27 start reading the annotation code and trying to understand the problem in the opengl depiction in Wgl and ogl display managers
  • May 28-29 failing to have any result with OpenGL and keep trying the logic exists in dm-X display manager but I am failing to copy it with OpenGL functions. the program is using OpenGL in immediate mode.
  • May 30 learning how to manipulate vector lists
  • May 31 the annotation vlist is complete when it exists in drawVlist() function in dm-wgl.c starting from the third point we can obtain the coordinates to the label vlist and use them to construct the box around the label
  • June 1 learning opengl immediate mode the projection wanted by the society is like the one produced by Glortho() but it is not giving the wanted results
  • June 2 working on the short annotation bug when you have a short annotation like one number or one letter it is not drawn in the graphics window one fix suggested by a fellow programmer is commenting the line 79 in vlist.c but this fix isn't approved by the society.
  • June 3 write the function ant_label_box() which draw the box around the annotation it was good but we have to optain a pointer to the segments inside the annotations and decide which segments have a box around it and which is not
  • June 4 one day off didn't do anything just read some code.
  • June 5 reading how the properties of line seg and text segment are entered and read by the annot_in function
  • June 6-9 structural dynamics exam didn't do much. and didn't pass the exam :(
  • June 10 I am working on the short annotations bug starting in bn_vlist_bbox() we will see what happen today and update.

June 10 the solutions I proposed is not accepted because it is changing the calculations of the bounding box for lines and triangles

  • June 11 trying another approach in solving short annotation problem which is another way of calling bn_vlist_bbox() in bound_solid() may be changing the matrix flag in cmd[0]=15 to cmd[0]=12 so the annotation is treated as one point which is the point that is in model coordinates not in display coordinates.
  • June 12 submitted a patch to solve the short annotation problem but it didn't solve the long annotation problem because of the long annotation vlist hase multiple chunks.

June 12 trying to add a third segment to the annotation static one defined inside annot_in() with its parameters to see if it will be converted correctly to vlist.

  • June 13 the patch was good and I submitted another one to solve the problem of bbox() in long annotations when the annotation vlist is constructed from more than one chunk the display mode is not memorized thought the iterations
  • June 14 I managed to draw a circle segment between the annotated point and the reference point replacing the text segment by a carc segment I am working on the entring logic for three segments of the annotation.

June 14 now the annotation contains three segments a leader line, text, and static arc segment I defined it inside the annot_in() function. the annotation is imported correctly and all the segments are converted correctly to vlist.

Example third segment
  • June 15 working on the problem of the bounding box, the solution is to change the bbox() function
  • June 15 prompt the user if he wants a carc segment in his annotation it seems like the annotation construction will be so hard on the user
  • June 16 send the patch of the new bbox() function it needs some modifications
  • June 16 the society suggested making an annotation editor using the existing code of sketch editor so I am learning tcl/tk