|
#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 |
|
|