#9277 NORM Not Tri: PolygonMorph
Zarro Boogs per Child
bugtracker at laptop.org
Mon Mar 2 18:16:27 EST 2009
#9277: PolygonMorph
--------------------------------------+-------------------------------------
Reporter: amoreno | Owner: etoys
Type: defect | Status: new
Priority: normal | Milestone: Not Triaged
Component: etoys-activity | Version: not specified
Resolution: | Keywords:
Next_action: never set | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
--------------------------------------+-------------------------------------
Comment(by ScottWallace):
From Jerome Peace, 1 March 2009:
Hi Yoshiki & crew
Attached are some repairs for handles that prevent the errors antonio ran
into.
These are essentially from my polygon work for 3.9/3.10.2. They leave out
the curvier repairs and just focus on the handle repairs.
I also noticed that arrow prototypes and triangles allow for deleting
vertices but then prevent anyone from adding vertices back. So when you
get a polygon with just one vertex it will be forced to stay that way.
This is not a problem for closed polygons except for triangle prototypes
which aquire a special property to prevent additions. It is a problem for
polygons that are open.
So I modified addHandles to allow a triangle handle for one vertex
polygons. I also modified setVertices: to remove the special property when
any polygon gets down to one vertex. That seem to me less limiting that
the current case.
Looking at triangles and how simple and elegant they look with handles, it
seems to be it might be nice to give the users a choice whether to have
the triangle handles show or not. A second menu item perhaps
show move handles
show edit handles
(with the check boxes in front as you do now).
It might even be pleasant if the move handles refrained from deleting
themselves if the edit handles were not present. Then triangles would stay
triangles etc.
That was too much of an enhancement to force on these repairs, but the
thought has now come up :) .
------
From Yoshiki, 2 March 2009:
Thanks, Jerome,
In the meantime (ah this happened again), Hayashi-san had another
proposed fix that looks like attached. This is really the minimum fix
and easier to adapt I consider, but what is your opinion?
------
From Jerome, 2 March 2009:
Hi Yoshiki,
Hayashi-san works fast! :)
I have downloaded his fix and will play with it soon.
Hayashi-san's fix seems to address other code than my fixes.
Other than updateHandles (and setVertices: ) they don't seem to collide.
So my general recommendation would be to combine both.
His fix does not address the ungrowable one vertex problem which would be
considered a separate bug from what antonio reported.
Also having a factored out midPoints method gives a lot of useful options
going forward. You could create a polygon from just the midPoints for
example.
The tests hasArrows and isCurvy are also frequently needed and factoring
them out simplifies code and reduces bugs.
When a curve is down to two points isCurvy recognizes that there is no
reason to use the curve calculations. This benefits a little bit in terms
of speed and it also helps proper placement of the midpoints.
The code I sent you has been in use in 3.9 and 3.10.2 so I have some
confidence in it being solid.
What are Hayashi-san's thoughts?
--
Ticket URL: <http://dev.laptop.org/ticket/9277#comment:4>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list