[Gtkradiant] Update: TranslateFree (Dominant axis movement)
Joseph, William
WJoseph at europe.ea.com
Thu Mar 22 09:49:36 CDT 2007
Hi Eduard,
I am the one who implemented this feature originally.
TranslateFree is intended to manipulate objects in the plane of the camera view - there are situations where the behaviour you describe: "the vertex is translated into x-axis direction as well" is desired.
You may be unaware of the axis-constrained translation tool. Press 'w' to toggle it. See http://zerowing.idsoftware.com/files/radiant/docs/1.5/commands.html
for more keyboard shortcuts.
I suggest reading through these docs to gain some insights into some of the features in GtkRadiant 1.5 that you may not be aware of:
http://zerowing.idsoftware.com/files/radiant/docs/1.5/
thanks for your contributions!
-SPoG
-----Original Message-----
From: gtkradiant-bounces at zerowing.idsoftware.com [mailto:gtkradiant-bounces at zerowing.idsoftware.com] On Behalf Of "Eduard Aumüller"
Sent: 21 March 2007 07:54
To: gtkradiant at zerowing.idsoftware.com
Subject: [Gtkradiant] Update: TranslateFree (Dominant axis movement)
Hi,
at the current revision the TranslateFree behaves like this:
1. create a patch somewhere on the x-axis
2. in the camera view look parallel to the x-axis
3. rotate the camera at the downwards
4. if you select a vertex of the patch now and move it upwards( mouse delta on the y-axis) a lot
you will experience that the vertex is translated into x-axis direction as well, against your expectations
The reason why is because the ray through your mouse cursor is projected onto the far plane and the deltas between mouse drag(x,y) and mouse drop(x,y) are computed and since you are looking downwards a little a little delta into x-axis direction is computed as well.
In my update I have calculated 2 reference directions, moving the cursor in window coordinates into (900,0) & (0,900) direction
I then calculate the drag&drop delta vectors and use these to determine the main axis of movement
so 2 axis are used and the 3rd axis component of the translation vector is cancled out.
The result is a translate along the 2 main axis
For more information see the selection.cpp.diff
Please at this to the svn
cu
--
"Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
Jetzt GMX ProMail testen: www.gmx.net/de/go/mailfooter/promail-out
More information about the Gtkradiant
mailing list