Lofton,
My interpretation of the scale function is
that it simply applies the x and y scale factors to all the coordinates in the APS,
this would scale around the (0,0) point in VDCs. What does the scale function
in SVG do? If the scale function scales around the (0,0) point in NVDCs, then we
do not need to add a point to the scale function or a method to get the VDC (0,0)
in NVDCs. If it scales around the (0,0) in VDCs then we need to add a point to
the scale function or a method to get the VDC (0,0) in NVDCs but not both.
Regards,
Forrest
From: Lofton Henderson
[mailto:lofton@rockynet.com]
Sent: Sunday, January 25, 2009
1:47 PM
To: 'Forrest Carpenter'; 'WebCGM'
Subject: Re: AW: [cgmo-webcgm]
scale transform
Forrest, All --
A comment and a QUESTION:
I have no problem with adding the scale reference point (or center point, or
scale-origin point, or however you wish to call it). For someone who
regularly needs to scale around a non-origin point, it is more convenient than
having to do translate-scale-translate every time. (Altho' script writers
can easily provide a utility function to do it.)
Before we make the change to the test, let's get everyone to agree about
it. (Adding the scale-center point.)
*** HOWEVER ... ***
Rereading Forrest's message, I am confused about one thing. We all agree
that the 'scale' function fixed point now is (0,0) in NVDC, right?
(Editorial comment: this should be stated explicitly in the 'scale'
method description -- everything else is explicit about NVDC, and the
center-point must be (0,0) since it is not settable now.)
It seems like Forrest wants to scale about the *VDC* (not NVDC) origin, but
there is no way in DOM to find the VDC-NVDC offset (so he can't set up
trn-scl-trn). Simply adding the NDVC center-point to scale() doesn't
solve that.
QUESTION: Do you want:
1.) scale center-point (NVDC)? (For convenience, since it is achievable
now by trn-scl-trn sequence.)
2.) or do you want the VDC-NVDC offset? (E.g., a new attribute on
WebCGMPicture [1].) (Adds new capability that is not presently
achievable.)
3.) or do you want both?
-Lofton.
[1] http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-DOM.html#L5070
At 07:41 PM 1/25/2009 +0100, Ulrich Läsche wrote:
Forrest,
We agree with your request. In our scale test we
earlier used VDC. Now, with rewriting the test, we should follow the
route that you proposed. The move-scale-move operation is odd in any
case.
Regards
Ulrich
-----Ursprüngliche
Nachricht-----
Von: Forrest Carpenter [mailto:forrest@sdicgm.com]
Gesendet: Saturday, January 24,
2009 12:26 AM
An: 'WebCGM'
Betreff: [cgmo-webcgm] scale
transform
All,
If it not too late, I think we need to add a point in NVDCs to the scale
function. In a use case, you might want to enlarge an APS around a point to show more detail while leaving
other parts of the drawing unchanged. The simplest method to do this in VDCs is
to do a translate such that the point
is at (0,0), do the scale transform and then a translate that would move the point back to it s original position. Using
NVDCs, you cannot do this unless you have a method of translating the (0,0) in
VDCs to NVDCs. Currently there is no DOM function that would enable a user to
compute the location in NVDCs of the (0,0) point in the CGM. To fix this we
could add a point to the scale function or add functions that would return the
location of (0,0) in NVDCs.
Regards,
Forrest