top of page

[July 10th - July 14th] Week 4 Report

Last Friday, we have a nice talk with Scooter about the future combination between Grid and PokeMeow.

However, since his design has not finished and working on another stuff and I'm still building primitives so I will leave our discussion note aside for now.

------------------------

Plans made in Week 3:

1. Tackle with all branches now, merge or discard.

Not yet because we didn't talk about my work last week so I'll do it after discussion this week.

2.Finish edge component. Wrap line and arrow into edge

I've finished drawing 13 kinds of lines using pure OpenGL.

Feature of Lines now:

1.) All of the 13 kinds of lines are drawn with Pure OpenGL. Straight line and fixed vertices design now.

2. )For curve line, define 2 kinds of Bezier lines, now used in arrow as following.

3.) setColor: uniform solid color could be set to lind

4. )setScale: length and width

Future work:

1.) Figure out whether AGG should be applied, or maybe there are better methods? Determine and finish this part.

2. )The curve line now only support solid line. Combine these two. Maybe complicated style could be implemented using better method in (1)

3. )Wrap Edge Component.

3. customized nodes

Decide not to do for now.

----------------------------------

Extra work or change this week:

1. Hit Test for Nodes

Please see issue for the discussion about implement mouse pickup.

Method I use:

1) First determine a rough rectangle bounding box.

2) For those points pass bounding box test, do ray casting test: that is - cast a horizontal ray from click point to polygon and figure out how many hits between the ray and polygon edges.

If hits are odd , the hit point is inside, otherwise, outside.

Features of Hit Test now:

1.) Works for 10 kinds of nodes.

2. )You can freely transform, scale or rotate nodes and hit test still work

Future work:

1). Hit test for arrow and line.

2. Establish .jar to Demos.

-------------

Next week:

1. Tackle with all branches now, merge or discard.

2. Determine the solution to line / curve and work on it.Finally wrap them to Edge component

3. Make sure the solution to hit test. If it's good enough, then apply them to arrow and lines.

4. Determine labels and see where to modify

bottom of page