WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Is it possible to stretch an object? How? (https://forum.worldviz.com/showthread.php?t=2936)

Renato Lima 09-03-2010 11:18 AM

Is it possible to stretch an object? How?
 
Hi, I have been studying the Vizard engine for quite a while now, but I can't understand how to strech objects through the code.

Imagine a 3D Chart Map, where the chart bars are objects and the information is presented on a texturized wall from where the bars pop into the 3D environment.

How can I strech these bars? I tried to use setScale but it also impacts the distance between the object and the wall, so I need to be able to control set one of its dimensions without using that command.

Any ideas?

Thank you very much.

Jeff 09-03-2010 01:03 PM

When you scale the bar it's center will remain in the same position. You could either change the bar's center to be at the end that will touch the wall or re-position the bar after scaling it. The following code moves an object's center so it will stay aligned with the ground when scaled:
Code:

import viz
viz.go()

ground = viz.add('tut_ground.wrl')
box = viz.add('box.wrl',pos=[0,0.5,0],scale=[0.2,1,0.2])
box.center(0,-0.5,0)

vizact.onkeydown('1',box.setScale,0.2,1,0.2)
vizact.onkeydown('2',box.setScale,0.2,1.5,.2)
vizact.onkeydown('3',box.setScale,0.2,2,0.2)
vizact.onkeydown('4',box.setScale,0.2,2.5,0.2)


import vizcam
viz.cam.setHandler(vizcam.PivotNavigate(center=[0,1,0],distance=6))


Renato Lima 09-05-2010 09:28 AM

Thank you, Jeff. It works.


All times are GMT -7. The time now is 09:50 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC