From KitwarePublic
Revision as of 19:24, 16 February 2011 by Nikhil (talk | contribs) (okay lets see what else)
Jump to navigationJump to search

Displays like the CAVE can be formed in various configurations. In ParaView these configurations can be specified using the PVX configuration XML file.

Where to specify this?

  • pvx file can be specified as the last command line argument for any of the server processes.
  • Typically the pvx file is specified for all the executables whose environment is being changed using the pvx file. In case of data-server/render-server configuration, if you are setting up the environment for the two processes groups, then the pvx file must be passed as a command line option to both the executables: pvdataserver and pvrenderserver.
  • When running in parallel the file is read on all nodes, hence must be present on all nodes.


<?xml version="1.0" ?>
  <Process Type="server|dataserver|renderserver">
      The only supported Type values are "server", "dataserver" or "renderserver".
      This controls which executable this configuration is applicable to.
      There can be multiple <Process /> elements in the same pvx file.
      |  Executable     | Applicable Process Type          |
      |  pvserver       | server, dataserver, renderserver |
      |  pvrenderserver | server, renderserver             |
      |  pvdataserver   | server, dataserver               |
    <Machine name="hostname"
             LowerLeft="-1.0 -1.0 -1.0"
             LowerRight="1.0 -1.0 -1.0"
             UpperLeft="-1.0  1.0 -1.0">
         There can be multiple <Machine> elements in a <Process> element, 
         each one identifying the configuration for a process. 
         All attributes are optional.
         Environment: the environment for the process.
         LowerLeft|LowerRight|UpperLeft : CAVE configuration parameters applicable
                                          for versions 3.8 or latter only.
  • Only 2 vectors ([LowerRight - LowerLef] and [UpperLeft - LowerLeft]) are needed, the third vector is computed from these 2.

Cave Rendering


  • run the servers using the pvx file: mpiexec -np 2 pvserver cave.pvx
  • start and connect a client


  • See below for an example of a cave configuration file
<?xml version="1.0" ?>
 <Process Type="client" />
 <Process Type="server">
  <!-- 2 render windows will be created on the machine Erna: 
       the first rendering has a camera looking forward,
       the second rendering has a camera looking backward -->
  <Machine Name="Erna"
           <!-- Camera looks forward:
                 dx = 2, dy = 2, dz = -2
                 Z = -2 defines the view angle  -->
           LowerLeft="-1 -1 -2"
           LowerRight="1 -1 -2"
           UpperLeft="-1  1 -2" />
  <Machine Name="Erna"
           <!-- Camera looks backward:
                 dx = -2, dy = 2, dz = 2
                 Z = 2 defines the distance from the camera to the view plane  -->
           LowerLeft="1 -1 2"
           LowerRight="-1 -1 2"
           UpperLeft="1  1 2" />
  • See vtkCaveRenderManager::ComputeCamera for more information on how the coordinates are used to configure the cameras
  • The rendering on the server is full screen by default. If you want the windows to be smaller for debugging, set the environment variable PV_ICET_WINDOW_BORDERS=1 on the client machine.