WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Question regarding GUI sliders (https://forum.worldviz.com/showthread.php?t=1404)

dan12345 03-17-2008 03:08 AM

Question regarding GUI sliders
 
Hello - i want to add several GUI sliders to my program - inspired by
the slider tutorial.
The problem is that i want each slider to perform different functionality -
and there is no identification for each slider.
Anyway to fix this? does a slider obj have maybe an identity function?
Thanks,
Dan

realvision 03-17-2008 08:49 AM

2nd question - IS vertical slider possible?
 
Hi all,
As I am slowly learning the very basics, I would really like some help to know the following...

is it possible to display a gui slider vertically?

I have displayed one horizontally and after much fiddling around (I dont know python, still learning slowly) I managed to do what i want , i.e i wanted to display an object and scale it bigger and smaller with a slider with this code
def myslider(obj, pos):
bed.setScale( .01*pos, .01*pos, .01*pos )

viz.callback(viz.SLIDER_EVENT,myslider)

However, can I add:

1) a vertical slider so that the object can be moved up and down? if so what would the code look like?

2) I wanted to use a live webcam as the background image. there is a tutorial that maps the webcam as a texture to a quad.
Can the live webcam image just be mapped as the "background" just like you can clear the background to a basic color, can it be "cleared" to the webcam image?

I tried unsuccessfully to map the webcam live image to the skydome, but that just distorts the webcam image :(

Thanks in advance!

farshizzo 03-17-2008 09:41 AM

The identity of a slider object is the object itself. Have a look at the docs for viz.SLIDER_EVENT, it explains how to determine which slider has changed. You can also use vizact.onslider for setting up callbacks for individual slider changes. Here is some sample code:
Code:

import viz
viz.go()

slider1 = viz.addSlider(pos=(0.5,0.1,0))
slider2 = viz.addSlider(pos=(0.5,0.2,0))

def Slider1Change(pos):
        print 'Slider 1 pos',pos
vizact.onslider(slider1,Slider1Change)

def Slider2Change(pos):
        print 'Slider 2 pos',pos
vizact.onslider(slider2,Slider2Change)


farshizzo 03-17-2008 09:58 AM

Quote:

1) a vertical slider so that the object can be moved up and down? if so what would the code look like?
You can make a slider vertical by rotating it 90 degrees along the z-axis. Here is what the code would look like:
Code:

slider.setEuler(0,0,90)
Quote:

2) I wanted to use a live webcam as the background image. there is a tutorial that maps the webcam as a texture to a quad.
Can the live webcam image just be mapped as the "background" just like you can clear the background to a basic color, can it be "cleared" to the webcam image?
Here is some sample code showing how to have a texture show up as the background:
Code:

import viz
viz.go()

viz.add('tut_ground.wrl')


tex = viz.add('ball.jpg')

def setBackgroundTexture(tex):
        background = viz.addRenderNode()
        background.setHUD(0,100,0,100,True)
        background.setOrder(viz.PRE_RENDER)
        background.texture(tex)
        viz.MainWindow.setClearMask(viz.GL_DEPTH_BUFFER_BIT)
       
setBackgroundTexture(tex)


realvision 03-19-2008 04:23 AM

Thank you for the code Farshizzo.
I do think I need to read a lot more! I was thinking adding a texture as background would be a one line code :-)

I tried out your example and it does work, but I have no clue as to how to make the live camera appear as the backgorund. Simply substituting 'cam' in place of tex in the above example does not do it :(

Regards

realvision 03-19-2008 09:28 AM

P.s I just had to at least buy a Lite lisence while i keep asking so many questions.
So I did :)

farshizzo 03-19-2008 10:25 AM

I replaced the ball texture with a webcam texture and it worked fine for me. Here is the code:
Code:

import viz
viz.go()

viz.add('tut_ground.wrl')

video = viz.add('VideoCamera.dle')
webcam = video.addWebcam()

def setBackgroundTexture(tex):
        background = viz.addRenderNode()
        background.setHUD(0,100,0,100,True)
        background.setOrder(viz.PRE_RENDER)
        background.texture(tex)
        viz.MainWindow.setClearMask(viz.GL_DEPTH_BUFFER_BIT)
       
setBackgroundTexture(webcam)


realvision 03-19-2008 11:47 AM

:) works! I was adding an un nessary line.
Thanks farshizzo!


All times are GMT -7. The time now is 11:38 PM.

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