home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Applications 2004 May / SGI IRIX 6.5 Applications 2004 May.iso / dist / java3d.idb / usr / demos / java / j3d / programs / examples / ConfiguredUniverse / j3d1x3-cave.z / j3d1x3-cave
Encoding:
Text File  |  2003-08-08  |  7.5 KB  |  167 lines

  1. /*
  2.  *    @(#)j3d1x3-cave 1.3 01/10/29 18:35:26
  3.  *
  4.  * Copyright (c) 1996-2001 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Redistribution and use in source and binary forms, with or without
  7.  * modification, are permitted provided that the following conditions
  8.  * are met:
  9.  *
  10.  * - Redistributions of source code must retain the above copyright
  11.  *   notice, this list of conditions and the following disclaimer.
  12.  *
  13.  * - Redistribution in binary form must reproduce the above copyright
  14.  *   notice, this list of conditions and the following disclaimer in
  15.  *   the documentation and/or other materials provided with the
  16.  *   distribution.
  17.  *
  18.  * Neither the name of Sun Microsystems, Inc. or the names of
  19.  * contributors may be used to endorse or promote products derived
  20.  * from this software without specific prior written permission.
  21.  *
  22.  * This software is provided "AS IS," without a warranty of any
  23.  * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
  24.  * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
  25.  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
  26.  * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
  27.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  28.  * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
  29.  * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
  30.  * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
  31.  * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
  32.  * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
  33.  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  34.  *
  35.  * You acknowledge that Software is not designed,licensed or intended
  36.  * for use in the design, construction, operation or maintenance of
  37.  * any nuclear facility.
  38.  */
  39.  
  40. /*
  41.  ************************************************************************
  42.  *  
  43.  * Java 3D configuration file for a cave environment.  This cave
  44.  * consists of 3 projectors with 3 screens to the left, front, and right
  45.  * of the user, all at 90 degrees to each other.
  46.  * 
  47.  * The projectors in the VirtualPortal sample site are actually turned
  48.  * on their sides to get more height.  Screen 0 is rotated 90 degrees
  49.  * counter-clockwise, while screens 1 and 2 are rotated 90 degrees
  50.  * clockwise.
  51.  * 
  52.  ************************************************************************
  53.  */
  54.  
  55. // Create new screen objects and associate them with logical names and numbers.
  56. // These numbers are used as indices to retrieve the AWT GraphicsDevice from
  57. // the array that GraphicsEnvironment.getScreenDevices() returns.
  58. // 
  59. // NOTE: The GraphicsDevice order in the array is specific to the local
  60. // site and display system.
  61. // 
  62. (NewScreen              left    0)
  63. (NewScreen              center  1)
  64. (NewScreen              right   2)
  65.  
  66.  
  67. // Set the available image areas as well as their positition and orientation
  68. // relative to the tracker base.   Although this config file doesn't enable
  69. // head tracking, the tracker base is still needed as a point of reference to
  70. // describe the position and orientation of the screens relative to the
  71. // environment. 
  72. // 
  73. // From the orientation of a user standing within this VirtualPortal site and
  74. // facing the center screen, the tracker base is along the vertical midline of
  75. // the screen, 0.248 meters down from the top edge, and 1.340 meters in front
  76. // of it.  The tracker base is oriented so that its +X axis points to the left,
  77. // its +Y axis points toward the screen, and its +Z axis points toward the
  78. // floor.
  79. // 
  80. (ScreenAttribute        left    PhysicalScreenWidth     2.480)
  81. (ScreenAttribute        left    PhysicalScreenHeight    1.705)
  82. (ScreenAttribute        left    WindowSize              NoBorderFullScreen)
  83. (ScreenAttribute        left    TrackerBaseToImagePlate
  84.                                 (( 0.0  0.0 -1.0  2.230)
  85.                                  ( 0.0 -1.0  0.0  1.340)
  86.                                  (-1.0  0.0  0.0  0.885)))
  87.  
  88. (ScreenAttribute        center  PhysicalScreenWidth     2.485)
  89. (ScreenAttribute        center  PhysicalScreenHeight    1.745)
  90. (ScreenAttribute        center  WindowSize              NoBorderFullScreen)
  91. (ScreenAttribute        center  TrackerBaseToImagePlate
  92.                                 (( 0.0  0.0  1.0  0.248)
  93.                                  (-1.0  0.0  0.0  0.885)
  94.                                  ( 0.0 -1.0  0.0  1.340)))
  95.  
  96. (ScreenAttribute        right   PhysicalScreenWidth     2.480)
  97. (ScreenAttribute        right   PhysicalScreenHeight    1.775)
  98. (ScreenAttribute        right   WindowSize              NoBorderFullScreen)
  99. (ScreenAttribute        right   TrackerBaseToImagePlate
  100.                                 (( 0.0  0.0  1.0  0.2488)
  101.                                  ( 0.0 -1.0  0.0  1.340)
  102.                                  ( 1.0  0.0  0.0  0.860)))
  103.  
  104. // Set the location of the center of coexistence relative to the tracker base.
  105. // Here it set to the center of the center screen.  This config file will set
  106. // the location of the user's eyes relative to this point.  The default view
  107. // attach policy of NOMINAL_SCREEN used by ConfiguredUniverse will place the
  108. // origin of the view platform in coexistence coordinates at the center of
  109. // coexistence. 
  110. // 
  111. (NewPhysicalEnvironment         VirtualPortal)
  112. (PhysicalEnvironmentAttribute   VirtualPortal
  113.                                 CoexistenceToTrackerBase
  114.                                 ((-1.0  0.0  0.0  0.000)
  115.                                  ( 0.0  0.0 -1.0  1.340)
  116.                                  ( 0.0 -1.0  0.0  0.994)))
  117.  
  118. // The above center of coexistence is appropriate for the sample geometry
  119. // files available in the programs/examples directory.  Often a more
  120. // immersive point of view is required for larger virtual worlds.  This can be
  121. // achieved by placing the center of coexistence closer to the nominal position
  122. // of the user's head, so that the view platform origin in coexistence
  123. // coordinates will map there as well.
  124. // 
  125. // Here we set the location of the center of coexistence 0.5 meters along the
  126. // tracker base +Z axis, 1.737 meters from the floor (about 5 ft 8.4 inches).
  127. // 
  128. // (PhysicalEnvironmentAttribute   VirtualPortal
  129. //                                 CoexistenceToTrackerBase
  130. //                                 ((-1.0  0.0  0.0  0.0)
  131. //                                  ( 0.0  0.0 -1.0  0.0)
  132. //                                  ( 0.0 -1.0  0.0  0.5)))
  133.  
  134.  
  135. // Now define the view.
  136. // 
  137. (NewView        view0)
  138. (ViewAttribute  view0   Screen                  left)
  139. (ViewAttribute  view0   Screen                  center)
  140. (ViewAttribute  view0   Screen                  right)
  141. (ViewAttribute  view0   PhysicalEnvironment     VirtualPortal)
  142.  
  143. // Set the user eye position in the display environment.  It is set here to
  144. // 1.340 meters back from the center screen (directly under the tracker), and
  145. // 1.737 meters from the floor (about 5 ft 8.4 inches).
  146. //
  147. (ViewAttribute  view0   CenterEyeInCoexistence  (0.0 0.494 1.340))
  148.  
  149. // Here is an alternative center eye position to use with the immersive
  150. // coexistence coordinate system defined in comments above.
  151. // 
  152. // (ViewAttribute  view0   CenterEyeInCoexistence  (0.0 0.0 0.0))
  153.  
  154. // Set the screen scale.  This is scale factor from virtual to physical
  155. // coordinates.
  156. // 
  157. (ViewAttribute  view0   ScreenScalePolicy       SCALE_SCREEN_SIZE)
  158.  
  159. // Alternative for explict scaling.
  160. // 
  161. // (ViewAttribute  view0   ScreenScalePolicy       SCALE_EXPLICIT)
  162. // (ViewAttribute  view0   ScreenScale             5.00)
  163.  
  164. // No stereo viewing for this configuration.
  165. // 
  166. (ViewAttribute  view0   StereoEnable            False)
  167.