27 |
.. IMPORTANT:: |
.. IMPORTANT:: |
28 |
Should 3D scaling be here as well? |
Should 3D scaling be here as well? |
29 |
|
|
30 |
(Benja says:) |
(Benja says:) ``scale`` doesn't belong here, because AWT cannot do it properly |
|
|
|
|
``scale`` doesn't belong here, because AWT cannot do it properly |
|
31 |
when text is involved (because text's aspect ratio may change |
when text is involved (because text's aspect ratio may change |
32 |
with size). |
with size). (Therefore, 3D scale doesn't belong here, either.) |
33 |
|
|
34 |
(Therefore, 3D scale doesn't belong here, either.) |
(Tjl:) Well, coordsys already *does* scale. The thing is to just |
35 |
|
ask for the font's width with the right scale, which you should |
36 |
|
be able to ask the coordsys. Something like |
37 |
|
|
38 |
|
scale = vs.getHeight(cs); |
39 |
|
|
40 |
|
? |
41 |
|
|
42 |
And into AffineVobCoorder the following functions:: |
And into AffineVobCoorder the following functions:: |
43 |
|
|
53 |
Should there be a third interface, ThreeDCoorder? |
Should there be a third interface, ThreeDCoorder? |
54 |
Or leave it into GLVobCoorder for now, like distort? |
Or leave it into GLVobCoorder for now, like distort? |
55 |
|
|
56 |
(Benja says:) |
(Benja says:) What would rotate3D be for? In our 2 1/2 D world, the z axis |
|
|
|
|
What would rotate3D be for? In our 2 1/2 D world, the z axis |
|
57 |
is really different from x and y... |
is really different from x and y... |
58 |
|
|
59 |
|
(Tjl:) Well, have you looked at fillets demo? We don't always |
60 |
|
want to keep in a 2 1/2 D world. Sometimes 3D is nice. |
61 |
|
But maybe best to leave it to GLVobCoorder. |
62 |
|
|
63 |
Also, for all these functions, we should have a shorthand |
Also, for all these functions, we should have a shorthand |
64 |
in VobScene: |
in VobScene: |
65 |
|
|
68 |
just to make it a little easier to say them. |
just to make it a little easier to say them. |
69 |
|
|
70 |
(Benja:) How about just ``translate``? |
(Benja:) How about just ``translate``? |
71 |
|
|
72 |
|
(Tjl:) Want to make sure it's not interpreted as "translate this vobscene". |
73 |
|
|
74 |
For the affine ones, the VobCoorder is cast into AffineVobCoorder, and |
For the affine ones, the VobCoorder is cast into AffineVobCoorder, and |
75 |
the error propagated if it's not. |
the error propagated if it's not. |
84 |
is used in an environment it wasn't programmed for, which may |
is used in an environment it wasn't programmed for, which may |
85 |
happen in a production system.) |
happen in a production system.) |
86 |
|
|
87 |
|
(Tjl:) How about UnsupportedOperationException? Hmm.. |
88 |
|
or a subclass of that, NotAffineCoorder |
89 |
|
|
90 |
|
|
91 |
Transforming points into coordinate systems |
Transforming points into coordinate systems |
92 |
------------------------------------------- |
------------------------------------------- |
112 |
(Benja:) I think ``inverseTransformPoints3`` should raise an exception |
(Benja:) I think ``inverseTransformPoints3`` should raise an exception |
113 |
if no reasonable inverse can be found. |
if no reasonable inverse can be found. |
114 |
|
|
115 |
|
(Tjl:) One that requires catch() or one that doesn't? |
116 |
|
I don't really like the exception either way: a pseudoinverse |
117 |
|
(closest to real inverse) can be well-defined. |
118 |
|
|
119 |
The reason for allowing the array ``pt[]`` to contain several points is |
The reason for allowing the array ``pt[]`` to contain several points is |
120 |
simply performance. |
simply performance. |
121 |
|
|