Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005560 [Squeak] Morphic major always 12-01-06 09:56 10-09-07 02:41
Reporter wiz View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.10
Summary 0005560: MatrixTransformationMorph needs examining and fixing.
Description This is a restart of the report 0000857.

See related problems in 0002116 and 0000851.


To see one of the mtm problems:
From Objects
Get a mixed polygon. (Basic)
Get a true type banner ( Demo)
  from red menu edit contents and accept. (This to get the shorted 'some text' banner)

Embed the polygon into the true type.

Bring up halos on the true type and rotate 360 degrees.

now lift the true type and move it elsewhere.

Notice that the solid fill of the polygon moves with its owner. while the border of the polygon for the most part stays put.
Some strange miscommunication here.
Additional Information I intend to collect here symptoms and fixes to get mtm to become a first class member of the squeak morph community. Or to decide why that is not possible.

Yours in service, --Jerome Peace
Attached Files

- Relationships

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

related to 0004280new  The message #transform is used with two incompatible meanings. Gaaahhh! 
related to 0005674new  Why doesn't heading = forwardDirection + rotationDegrees for all morphs all the time? 
related to 0006564new  [RFE] Halos need to be refactored to be more along the lines of Menus 
parent of 0005605assigned andreas Squeak oxymorons: MatrixTransform2x3 identity does not behave as an identiy transformation. 
parent of 0000857new  MatrixTransformationMorph is very badly broken in many place. It probably never worked. 
parent of 0000577closed  MatrixTransformMorph>>innerAngle references uninstantiated instvar 
parent of 0002116closed MarcusDenker Halo rotation of a true type font throws up a debug window. 
parent of 0005719new  In Squeak 6665 using halos to rotate the squeak logo's nose will get an DNU 
child of 0006567new  Mother of Morphic Cleanup Tweak 
Not all the children of this issue are yet resolved or closed.

- Notes
(0008531 - 1995 - 2193 - 2193 - 2299 - 2299 - 2299)
wiz
12-03-06 10:08

In 7067 #rotationCenter: has 3 implementers
Morph
PolygonMorph
CircleMorph
and
MatrixTransformantionMorph

Morph expects the argument to be the rotationCenter (I.E. a point relative to the extent. And sets the value of the property: #rotationCenter

PolygonMorph expects the argument to be the rotationCenter but it sets the property: #referencePoint from the argument times bounds extent plus the bound origin. It does not set a property for #rotationCenter.

MatrixTransformationMorph expects the argument to be the rotationCenter but then calls super with the referencePoint as the argument not the rotation center. This is very wrong.

setRotationCenterFrom: aPoint expects as its argument a reference point. but it calls #rotationCenter: so if it was used for the super call it would endlessly loop.

MatrixTransformationMorph>>#rotationCenter calls super but then treats what is returned as the referencePosition doing a convesion to make it a rotationCenter.

So if both to these methods were eliminated in mtm...
the protocol would work consistently yet I suspect the end result would not be on target.
(I did try it and it indeed did not cure everything. As I moved things around it grew until the embeded polygon blew up memory (bug 0000843).

Morph referencePosition relies on bounds and rotationCenter to determine where the referencePoint is. When morphs flex their bounds change and can not be reliable as a reference. That's why halo morph has to do all these adjust afters.

No the referencePoint will have to be set just as Polygon morph does.


Bugtrackers comment:

The messages here fly fast and thick. The use of super makes everything stiff and awkward. It becomes nigh on to impossible to keep everything in mind at once as the experienced coders misunderstanding of his own code conventions shows. Also trying to find an elegant way back to sanity is proving difficult.

Well back to the drawing screen.

Yours in service, -- Jerome Peace
 

- Issue History
Date Modified Username Field Change
12-01-06 09:56 wiz New Issue
12-03-06 10:08 wiz Note Added: 0008531
07-05-07 00:45 wiz Relationship added parent of 0005605
07-05-07 00:46 wiz Relationship added parent of 0000857
07-05-07 00:49 wiz Relationship added parent of 0000577
07-05-07 00:52 wiz Relationship added parent of 0002116
07-05-07 00:53 wiz Relationship added related to 0004280
07-05-07 00:54 wiz Relationship added related to 0005674
08-21-07 09:14 wiz Relationship added related to 0006564
10-09-07 02:41 matthewf Relationship added parent of 0005719
10-09-07 02:41 matthewf Relationship added child of 0006567


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
74 total queries executed.
50 unique queries executed.
Powered by Mantis Bugtracker