[Bf-committers] Grab cursor evaluation

Matt Ebb bf-committers@blender.org
Tue, 20 Jul 2004 10:47:38 +1000


--Apple-Mail-12-308118395
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed

Hi,

I've been encountering the grab cursor addition in my work, during 
yesterday and this morning, and think it could do with some revision. I 
can see the issue that it's addressing (precise cursor placement), and 
the idea is not a bad one, but I'm not happy with the current 
implementation

The major problem is in re-using the same key for two quite different 
actions/domains.

* Generally in Blender, The G/R/S keys are used on discrete objects 
which can be selected, and directly manipulated (3D objects, Ipo 
keys/curves/control points, OOPs blocks, sequence strips, and so on). 
Using the same commands for the cursor gives the impression that it is 
the same, which it is not - it's more of an abstract UI control, rather 
than a 'concrete' bit of scene data. I can see a lot of confusion 
arising by blurring these boundaries (people thinking the cursor is a 
scene object, trying to select it, etc) particularly since in other 3D 
applications, the pivot point (closest thing to our cursor) *is* often 
selectable and manipulatable.

* Another issue is the problems in changing the functionality of the 
hotkey. Although elsewhere in Blender, the actions that hotkey commands 
execute can change, this is almost always in the form of a 'mode', 
which only happens on a user's direct command, and which is (or should) 
be supported by strong visual feedback, so the user always feels in 
control of the system.

The grab cursor is not initiated by a command - it happens as a 
side-effect of other things (such deselect all objects, delete the 
selected objects), and is not clear when the states have changed. 
Especially if the cursor (and/or selected objects) are outside of the 
view, it can be impossible to determine what will happen by pressing 
'G'.

The most simple solution to these issues that I can see right now, is 
to bind the cursor grabbing to its own hotkey, rather than re-using G. 
Such a hotkey could also be used instead of 'C' when already performing 
the transform, which would be more consistent and easier to remember. 
This way, one would always know what is going to happen, and it would 
happen when, and only when, one directly  tells it to.

Matt
--Apple-Mail-12-308118395
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGDjCCAscw
ggIwoAMCAQICAwxG8zANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDQwNTA5MTQ1NzQyWhcNMDUwNTA5MTQ1NzQyWjA/MR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMRwwGgYJKoZIhvcNAQkBFg1tYXR0QG1rZTMubmV0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqrMXJq+m7wZA9sqdK/9puxi3rdgyb6+pvVOT
+WoJ8AA5dEGJPRS67OA0Kp2P7O75FJuQljY3zTquUg3pgHQId+8SyaCYjERsrkj0jTrWN9IwiDHm
xrgqiXWa1kuHOKPAER+uorJmGwHIhlV9gvJMNXf8wOmARTfKAO4kYQ4ZjHG9LYXIomDni3EmF6ZR
cqoh4RqQ9l/CnP9REcxfSNSUYw1QgOjJpU27T5QAVxY4Rq1zrHXWCNHGjWt5Hx8AGuCnr8J7n2OD
0m6bdEIp611qWaxJcHpU8za8huQeae5BSgSnu7jc0S004LFlTqM+0SpyHYqWLZxQC1p8hIcJZEe6
iQIDAQABoyowKDAYBgNVHREEETAPgQ1tYXR0QG1rZTMubmV0MAwGA1UdEwEB/wQCMAAwDQYJKoZI
hvcNAQEEBQADgYEAsqN85XImlc6lXdYOT68vBOCseU6Su+W3NuTb7E3wdBq2RTjSIHo8jZRi3nY9
OjLHCNFqCdJ3sWMqSi6G1b77YHkfUlEXB4fTl5nasfbtzhMUVdDtIlwP8z/rgqzIhj9WaT6oE0oZ
Fmen9qA+zC1yoqymsW0gD5pNBliMgmou6HYwggM/MIICqKADAgECAgENMA0GCSqGSIb3DQEBBQUA
MIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRv
d24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNl
cnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzAp
BgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAw
WhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRp
bmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vpbmcg
Q0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9
zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xz
gnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEw
EgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5j
b20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQe
MBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsu
zA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguC
dJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMd
Rv9dX2VPMYIC5zCCAuMCAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1
bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vp
bmcgQ0ECAwxG8zAJBgUrDgMCGgUAoIIBUzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG
SIb3DQEJBTEPFw0wNDA3MjAwMDQ3MzlaMCMGCSqGSIb3DQEJBDEWBBTuN3RMSIwLDvMz4T7BVdDy
lNfn0DB4BgkrBgEEAYI3EAQxazBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29u
c3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNz
dWluZyBDQQIDDEbzMHoGCyqGSIb3DQEJEAILMWugaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMc
VGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZy
ZWVtYWlsIElzc3VpbmcgQ0ECAwxG8zANBgkqhkiG9w0BAQEFAASCAQAEWnCCVxf+7oT+dW3GdNfv
TnJfSBnCBoAK5YzvI0hl3BEUKNPBqjCQUKwanXO0I2hOmMLOV3Y7eB3oIScaW1xIo8jg69XwgtlD
StQDIN+Mzf42RyrL4MvMkBEsRDyyvZU4wGVfZwNlGy4/P9Z2jTbjO8kCsFCKXsopCl89mdjsvg98
Zd67idywcgxKF7qZTNO2xTNPjFHfb8lkWVG+gLJQ7RP2sPf5YhR4w5G1qk3rJW0CB4qxbNdlyPpw
CFerys3MQ6rSi9oZnQ1YQZb+/daeR0Ps0TLgSZG+hN7AVvmWcxxR6KHYX2XLRzMPnn81IkFYDF8p
RbmtJjvoZFx4YHX1AAAAAAAA

--Apple-Mail-12-308118395--