WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   How to show different objects on different windows from the same scene (https://forum.worldviz.com/showthread.php?t=702)

Joran 08-25-2006 01:41 AM

How to show different objects on different windows from the same scene
 
Hello,

I have two windows. On on each window I want to show different objects on the viz.SCREEN, but the rest of the scene must be the same. What is the best way to do that?

Greetings, Joran.

farshizzo 08-25-2006 09:19 AM

There are two ways to go about this.

1) Each window has its own orthographic HUD. The window HUD is slightly different than the SCREEN because the coordinates are in actual pixel units, not normalized 0 to 1. Here is a sample script that adds a different text object to each windows HUD:
Code:

import viz
viz.go()

#Set main window size to half
viz.MainWindow.setSize(0.5,1)

#Add a new window to other half
window = viz.addWindow()
window.setPosition(0.5,1)
window.setSize(0.5,1)

#Add a model
viz.add('gallery.ive')

#Add text to the main windows orthographic HUD
text1 = viz.add(viz.TEXT3D,'Text 1',parent=viz.ORTHO,scene=viz.MainWindow)
text1.fontSize(36)

#Add text to the second windows orthographic HUD
text2 = viz.add(viz.TEXT3D,'Text 2',parent=viz.ORTHO,scene=window)
text2.fontSize(36)

2) Use 2 different scenes that share the same data. Example:
Code:

import viz
viz.go()

#Set main window size to half
viz.MainWindow.setSize(0.5,1)

#Add a new window to other half
window = viz.addWindow()
window.setPosition(0.5,1)
window.setSize(0.5,1)
view = viz.addView()
view.scene(2)
window.viewpoint(view)

#Add the root of your entire scene
root = viz.add(viz.GROUP)

#Duplicate this root onto scene 2
root.duplicate(scene=2)

#Add all subsequent world objects to this root
gallery = root.add('gallery.ive')

#Add text to scene 1 screen
text1 = viz.add(viz.TEXT3D,'Text 1',parent=viz.SCREEN,scene=1)

#Add text to scene 2 screen
text2 = viz.add(viz.TEXT3D,'Text 2',parent=viz.SCREEN,scene=2)


deborah 07-09-2014 06:19 PM

Hi farshizzo,

I was able to copy your code to produce two different scenes that share the data, but cannot not use viz.add for anything other than text. For example, if I try:

#Add ball to scene 2 screen
ball = viz.add('white_ball.wrl',parent=viz.SCREEN,scene=2 )

the ball does not appear in the window. How can I add different types of nodes?

Jeff 07-14-2014 03:07 PM

Try scaling the ball by a large value such as 1000. You can also add it to the ortho layer:

Code:

ball = viz.add('white_ball.wrl',parent=viz.ORTHO, scene=2)
ball.setPosition([300,300,1])
ball.setScale([100]*3)



All times are GMT -7. The time now is 08:09 PM.

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