WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   How to call viz.go() from a GUI (https://forum.worldviz.com/showthread.php?t=5421)

Thummi 08-05-2015 07:01 AM

How to call viz.go() from a GUI
 
Hey,

currently i am working on the GUI for a project and i got stuck on a stupid problem.
If i try to call viz.go() via a button it does not work as it should. I get stuck in the loading animation
http://i.imgur.com/wfagdkZ.png

If i call viz.go() in an otherwise empty script it works as it should.

I created the GUI with pyQT and qt Designer and the button is connected to a method which calls the method of an other object, which contains the viz.go() call.

Code:

        def __init__(self):
                super(MainWindow, self).__init__()
                uic.loadUi('ballconfig.ui', self)
                self.application = Application.application()
                self.show()

                .....
               
                #Connect the buttons.
....
                self.start_Button.clicked.connect(self.onStartSimulation)
.....

def onStartSimulation(self):

        self.application.start()

def start(self):
                #Video settings
                #viz.setMultiSample(4)
                #viz.fov(110)

                viz.go()
                '''
                rest
                '''

That is the way the code looks like currently. I currently don't have the slightest clue why it does not work. Did i forget anything(i hope) or is this a known issue(i hope not) ?

Jeff 08-05-2015 03:25 PM

The PyQt article in our knowledge base shows how to embed the Vizard graphics window inside a PyQt application

Thummi 08-06-2015 11:32 AM

Hey,

thanks for the information. Now i can view the running Simulation in an embedded window.:)

Now if you dont mind, i have two follow up questions.

1. Is there a way to use a method provided by the vizard libraries to display the simulation in fullscreen mode or do i have to use methods provided by the qt-framework? I assume the later, but i´m pretty new to working with QT/Viz, so sorry if it is a stupid question.

2. How do GUIs interact with a hmd, or an oculus rift to be more specific, in vizard ? Does
Code:

hmd = oculus.Rift()
work as normal or is theresomething else i have to consider ?

Jeff 08-06-2015 02:30 PM

1. Try changing the size in the following line of the PyQt example script to match your screen resolution:

Code:

self.resize(800,600)
2. Take a look a the oculusExample.py script included with Vizard. That uses a GUI canvas to place GUIs in the world at a fixed distance from the viewpoint.

Thummi 08-06-2015 07:15 PM

Ok, thx for the answer for the first question.

And sorry, i formulated the second question badly.:o
What i meant was:
Can i display the simulation on an oculus rift, if i start it via a GUI that was designed with pyqt ?
What we want to to is configure some settings of the simulation with the GUI and then start and display it on an oculus rift.

Jeff 08-07-2015 04:40 PM

Yes, it should work. I just tested the sample PyQt script with Direct HMD mode in the Oculus and the PyQt menu only appears in the mirrored window. Just make sure to add the oculus rift command:

Code:

viz.go(viz.EMBEDDED,window=int(self.widget.winId()))

import oculus
hmd = oculus.Rift()
viz.link(hmd.getSensor(), viz.MainView)

Vizard also has a number of built-in GUI libraries (vizinfo, vizdlg, vizconfig, vizmenu) that you could use to select options before the simulation starts.


All times are GMT -7. The time now is 04:19 PM.

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