WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 03-09-2006, 09:25 AM
hotspur1 hotspur1 is offline
Member
 
Join Date: Mar 2003
Location: Cambridge, MA
Posts: 54
network clusters

I'd like to run a simulation with 3 viewpoints (or maybe more) and would like to use the cluster method so I just have to write one script. At the moment, I have one machine with a dual head card and need to link up one other machine.

Is it possible to specify the viewpoint for the clients other than using viz.clusteroffset()? I'd like to specify a position and direction like as I can with the viewpoint.translate() or rotate() methods.

Also, if I have commands that use dialog boxes and inputs, or read from/write to external files - are these commands also executed on the clients? Or are just the graphical objects and commands used?

Thanks!
Reply With Quote
  #2  
Old 03-09-2006, 11:16 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Hi,

The client machines do not run any python code, so displaying dialog boxes and opening files won't affect clients. The clients only execute commands that could potentially affect the rendering environment.

If you wanted each client to have its own viewpoint then you first need to disable the "Transmit mouse navigation" in the cluster master utility. Then, during each frame you would do something like this:
Code:
viz.clustermask(viz.CLIENT1)
#Set viewpoint position/rotation for client 1
viz.clustermask(viz.CLIENT2)
#Set viewpoint position/rotation for client 2
viz.clustermask(viz.MASTER)
#Set viewpoint position/rotation for master
viz.clustermask(viz.ALLCLIENTS) #Restore cluster mask
The cluster mask simply controls who will receive the commands. It is a state variable, so once you set its value, all subsequent commands will use that mask.
Reply With Quote
  #3  
Old 03-09-2006, 11:41 AM
hotspur1 hotspur1 is offline
Member
 
Join Date: Mar 2003
Location: Cambridge, MA
Posts: 54
Hmmm, I tried the following code, but, after the objects load, I get the following output in the output window

--------------------------

Loading File: mplm.wrl
Loading File: truss2.wrl
** Load Time: 1.29 seconds
TypeError: an integer is required


-----------------------

import viz

viz.go()

mplm = viz.add('mplm.wrl')
truss = viz.add('truss2.wrl')

viz.clustermask(viz.CLIENT1)
viz.windowsize(320,240)
##viz.clusteroffset(30,0,0)
viewpoint = viz.add(viz.VIEWPOINT)
#viewpoint.rotate(0,1,0,20)
viewpoint.translate(0,0,-4)

viz.clustermask(viz.ALLCLIENTS)


viz.framerate()
Reply With Quote
  #4  
Old 03-09-2006, 12:43 PM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Hi,

You've quickly discovered the current limitation to the cluster feature.

When adding objects, they need to be added for every computer. Also, you don't need to add a separate viewpoint for each computer. You can use one viewpoint, just set the mask to a different client when changing the viewpoint. So try changing your code to the following:
Code:
viewpoint = viz.get(viz.MAIN_VIEWPOINT)

viz.clustermask(viz.CLIENT1)
viz.windowsize(320,240)
##viz.clusteroffset(30,0,0)
#viewpoint.rotate(0,1,0,20)
viewpoint.translate(0,0,-4)
viz.clustermask(viz.ALLCLIENTS)
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:10 AM.


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