![]() |
|
|
|
#1
|
|||
|
|||
|
Vizlink problem
Below is a sample piece of code (numbered lines for clarity) that I play around with in order to make sure I understand the linking process.
1: import viz 2: viz.go() 3: block = viz.add('box.wrl') 4: block.translate(0,1.8,3) 5: marker = viz.add('marker.wrl') 6: marker.scale(0.1,0.1,0.1) 7: marker.translate(0,1.8,0) 8: link = viz.link(marker,block) 9: print "marker pos is: ", marker.getPosition() 10: print "block pos is: ", block.getPosition() 11: marker.translate(0,11,24) 12: print "marker pos is, after translation: ", marker.getPosition() 13: print "block pos is, after translation: ", block.getPosition() 14: link.remove() 15: marker.translate(0,1.8,41) 16: print "marker pos is, after remove: ", marker.getPosition() 17: print "block pos is, after remove: ", block.getPosition() If I run this program, I notice that the block position (line 13), (the node being linked to the marker on line 8) is is not updated after the marker is translated (line11). I do not understand why. Shouldn't the block position be applied the translation too? Furthermore, If I understand correctly, the remove() function is like an unlink command. Is that correct? Thanks for your reply Patrick |
|
#2
|
|||
|
|||
|
The link object only updates the position of the destination objects every update-cycle/frame so you have wait a frame before the block takes on a new position.
Code:
import viz
viz.go()
block = viz.add('box.wrl')
block.translate(0,1.8,3)
marker = viz.add('marker.wrl')
marker.scale(0.1,0.1,0.1)
marker.translate(0,1.8,0)
link = viz.link(marker,block)
print "marker pos is: ", marker.getPosition()
print "block pos is: ", block.getPosition()
marker.translate(0,11,24)
counter = 0
def onTimer(num):
global counter
if counter == 0:
print "marker pos is, after translation: ", marker.getPosition()
print "block pos is, after translation: ", block.getPosition()
link.remove()
if counter == 1:
#marker.translate(0,1.8,41)
print "marker pos is, after remove: ", marker.getPosition()
print "block pos is, after remove: ", block.getPosition()
counter += 1
viz.callback( viz.TIMER_EVENT, onTimer )
viz.starttimer( 0, .01667, viz.FOREVER )
__________________
Paul Elliott WorldViz LLC |
|
#3
|
|||
|
|||
|
VizLink problem
Thanks, Paul
Maybe it should be added in the help file, unless I missed it there. Thanks for the help anyways Patrick |
![]() |
|
|