PDA

View Full Version : Bug in setPosition


sleiN13
10-15-2013, 08:51 AM
I found a bug in the setPosition of Node3D (VizNode)

import vizshape, viz

viz.go()

vizshape.addGrid()
group1 = viz.addGroup()
group1.setPosition(3.0, 0.0, 10.0)
cube1 = vizshape.addCube(3.0, parent=group1)
cube1.setPosition(0.0,0.0,10.0, mode=viz.ABS_GLOBAL)
cube1.alpha(0.5)

group2 = viz.addGroup()
group2.setPosition(3.0, 0.0, 10.0)
cube2 = vizshape.addCube(2.0, color = (1.0,0.0,0.0), parent=group2)
cube2.setPosition((0.0,0.0,10.0), mode = viz.ABS_GLOBAL)

The following simple example should place the two cubes on the same location. Both use the "mode=viz.ABS_GLOBAL" flag to set the cube on "0.0, 0.0, 10.0" position. The first white cube will be placed correctly the second red cube will be placed relative to the parent.

Frank Verberne
10-16-2013, 12:20 AM
If you change:
cube2.setPosition((0.0,0.0,10.0), mode = viz.ABS_GLOBAL)

to:
cube2.setPosition(0.0,0.0,10.0, mode = viz.ABS_GLOBAL)

then both cubes are set in the same position. Apparently, there's a difference between node.setPosition((0.0,0.0,10.0)) and node.setPosition(0.0,0.0,10.0).

sleiN13
10-18-2013, 02:25 AM
You would expect it to just work. Took me hours to figure out that this was the cause of my problem. I don't know on how many other locations in my code I might have used this construction.