Jerry
03-01-2006, 02:15 PM
When using the translate command if the final argument is RELATIVE_LOCAL
or ABSOLUTE_LOCAL the motion should be referenced to the object's local
coordinate system, but the following code shows that to be true
for RELATIVE_LOCAL but not ABSOLUTE_LOCAL. Press the '1' key to
rotate the arrow in various directions and then the '2' or '3' key to
translate in absolute or relative modes. The arrow supposed move in
the direction it is pointing in both cases, but it doesn't for
absolute. Is this a Viz bug or am I missing something?
Sorry I forgot how to embed code properly.
from viz import *
go()
obs = add('arrow.wrl')
translate(HEAD_POS,0,0,-15)
def onkeydown(key):
if key == '3':
obs.translate(0,-1,0,RELATIVE_LOCAL)
if key == '2':
obs.translate(0,-1,0,ABSOLUTE_LOCAL)
if key == '1':
obs.translate(0,0,0)
obs.rotate(0,0,1,90,RELATIVE)
viz.callback(viz.KEYDOWN_EVENT,onkeydown)
or ABSOLUTE_LOCAL the motion should be referenced to the object's local
coordinate system, but the following code shows that to be true
for RELATIVE_LOCAL but not ABSOLUTE_LOCAL. Press the '1' key to
rotate the arrow in various directions and then the '2' or '3' key to
translate in absolute or relative modes. The arrow supposed move in
the direction it is pointing in both cases, but it doesn't for
absolute. Is this a Viz bug or am I missing something?
Sorry I forgot how to embed code properly.
from viz import *
go()
obs = add('arrow.wrl')
translate(HEAD_POS,0,0,-15)
def onkeydown(key):
if key == '3':
obs.translate(0,-1,0,RELATIVE_LOCAL)
if key == '2':
obs.translate(0,-1,0,ABSOLUTE_LOCAL)
if key == '1':
obs.translate(0,0,0)
obs.rotate(0,0,1,90,RELATIVE)
viz.callback(viz.KEYDOWN_EVENT,onkeydown)