Difference between revisions of "Api.php"

From KitwarePublic
Jump to navigationJump to search
(okay lets see what else)
Line 8: Line 8:
==Structure==
==Structure==


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



Revision as of 19:24, 16 February 2011

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.

Structure

<?xml version="1.0" ?>
<pvx>
  <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"
             Environment="DISPLAY=m1:0"
             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.
         name="hostname"
         Environment: the environment for the process.
         LowerLeft|LowerRight|UpperLeft : CAVE configuration parameters applicable
                                          for versions 3.8 or latter only.
 
       -->
    </Machine>
  </Process>
</pvx>
  • Only 2 vectors ([LowerRight - LowerLef] and [UpperLeft - LowerLeft]) are needed, the third vector is computed from these 2.

Cave Rendering

Instructions

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

Notes

  • See below for an example of a cave configuration file
<?xml version="1.0" ?>
<pvx>
 <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"
           Environment="DISPLAY=:0"
           <!-- 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"
           Environment="DISPLAY=:0"
           <!-- 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" />
  </Process>
</pvx>
  • 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.