Mantis - Squeak
Viewing Issue Advanced Details
504 Morphic feature always 11-07-04 22:58 02-21-06 17:04
wiz  
 
normal  
closed  
fixed  
none    
none 3.9  
0000504: [FIX] Closed curves can be smooth except for one sharp bend.
Closed curves have never been completely smooth. They use the same smoothing fucntion as for open curves and so the have one discontinuous break at the beginning or end.
Also the algorithm for guessing howmany segment to use for smoothing between fixed points does not produce the best results for some cases.
Thirdly, one vertex polygons are not always handled correctly.
This is a spiffed up fix that I submitted earlier to sqeakdev. The reviewer found it worthy and expressed a desire for a name other than NewCurve morph so it has be renamed CurvierMorph and submitted here with a simple play with me project and a changeset.

The name change was all I did to bring it up to date to Sq3.9a-6404.

Unfortunately, the way the supply flap is generated has changed and the trick I learned to update it no longer applies. So Curvier appears in objects but not in the supply flap for now.
 CurvierCurves-wiz.002.pr [^] (148,100 bytes) 11-07-04 22:58
 CurvierCurves-wiz.1.cs [^] (45,125 bytes) 11-07-04 22:59
 Curvier-wiz.2.cs.gz [^] (14,088 bytes) 02-27-05 05:29
 Curvier-wiz.3.cs.gz [^] (14,591 bytes) 09-25-05 04:34
 Curvier-wiz.4.cs.gz [^] (19,164 bytes) 10-12-05 04:47
 Curvier-wiz.7.cs.gz [^] (19,270 bytes) 01-01-06 05:22
 Curvier-wiz.mod.7.cs.gz [^] (19,258 bytes) 02-07-06 08:34

Notes
(0000608)
wiz   
11-07-04 23:00   
The project also contains the changeset (else it wouldn't work).
(0001191)
wiz   
02-27-05 05:36   
Curvier-wiz.2.cs.gz corrects an accumulation of errors bug that caused
CurvierMorph to fail when dealing with more than 30 vertices. Due to the filledForm bug reported in mantis 0000843 this was a grave problem.
This fixes the accumulation of errors bug. The filledForm bug still needs a fix.
(0002711)
wiz   
09-25-05 04:47   
Hi Stef, Hi Marcus

The most recent upload Curvier-wiz.3.cs.gz has been loaded and tried on Squeak 3.9a - 6693.

There were essentailly no changes needed from Curvier-wiz.2.cs.gz . The one conflict I ran into in the addCustomMenu routine was because Yoshiki added one of my fixes in 3.8. That fix was already included in Curvier-wiz.2.cs.gz.

The only reason for the new cs was to incorperate the arrowPrototypeFix proposed in Mantis 0001454.

Yours in Service --Jerome Peace
(0002831)
wiz   
10-12-05 04:57   
Curvier-wiz.4.cs.gz Uploaded.

From preamble:

wiz 10/1/2005 22:34

No code changes. Renamed and sometimes rearraged catagories to make them consistently part of Morphic package.

Now we have:

BalloonMorph -- Morphic-Widgets

PolygonMorph -- Morphic-Basic
CurveMorph -- Morphic-Basic

CurvierMorph -- Morphic-Basic-NewCurve
Cubic -- Morphic-Collections-Arrayed

SequenceableCollection>>*Morphic-NewCurves-cubic support

SequenceableCollection>>flipRotated -- *Morphic-fliprotate
SequenceableCollection>>polynomialEval: -- enumerating

Number>>isNonZero -- *Morphic-NewCurve-testing
Object>>isNonZero -- *Morphic-NewCurve-testing

This does not feel all good. Some of the changes to the traditional core classes are just changes not really part of any package but needing a home. They shouldn't be named morphic but just considered bug fixes/extentions under their own class.

It would be more troublesome to me to separate them out of this cs and have them preloaded as a dependency of the code that would remain. I just haven't done that before and making simple things complicated seems to me to be the opposite of the spirit of squeak/smalltalk.

-------
So I've done the best I could to make this cs MC friendly. I think I've done as much as possible before these changes appear in an image and feedback comes from that. Thanks Marcus and Stef for paying attention and facilitating improvements in the image.

(0003316)
SergeStinckwich   
12-13-05 11:02   
I try this cs. This works as described and the "one handle bug" is removed.
Well done!
(0003416)
wiz   
01-01-06 05:21   
Hi Juan,

I read your feedback on the morphic list.

I am uploading a revised cs (Curvier-wiz.7.cs.gz).

I only changed Object by adding Object>>isNonZero the necessary backup to Number>>isNonZero. The other changes you saw were because the other object catagories changed between 6693 (when I last filed out my stuff) and the present 6706. I've synced the catagories so that problem should be solved.

polynomialEval I've resolved by removing it from this change set and submitting it as a separate enhancement. The function was only changed by me for elegance and speed. The old function will do all right for now.

So I think this cs should be publishable.

Lets make curves curvier.

Yours in service -- (wiz) Jerome Peace

(0003706)
wiz   
02-07-06 08:42   
Uploaded Curvier-wiz.mod.7.cs.gz to correct a problem with backwards compatability.
When the previous version was saved (in 6706) the traits stuff caused it use different subclass: etc. methods than usual. This caused a problem when loading into pre-trait systems. e.g. Edgar's SqueakLight.

The traits problem has gone away for created and saved in 6719 and 6720. I think my timing was just unlucky..

Here I just hand edited the cs to change the subclassing methods back.
It now loads in older squeaks.

Yours in service -- Jerome Peace.

(0003936)
MarcusDenker   
02-21-06 17:04   
in 3.9a