javax.media.j3d

## Class PhysicalEnvironment

- java.lang.Object
- - javax.media.j3d.PhysicalEnvironment

-     public class PhysicalEnvironment
      extends java.lang.Object

  This object contains a specification of the physical environment in which the view will be generated. It is used to set up input devices (sensors) for head-tracking and other uses, and the audio output device. Sensors are indexed starting at zero.
  See Also:
    `View`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PhysicalEnvironment()` Constructs a PhysicalEnvironment object with default parameters.
    `PhysicalEnvironment(int sensorCount)` Constructs and initializes a PhysicalEnvironment object with the specified number of sensors.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addInputDevice(InputDevice device)` Add an input device to the list of input devices.
    `java.util.Enumeration` | `getAllInputDevices()` Create an enumerator that produces all input devices.
    `AudioDevice` | `getAudioDevice()` Gets the audioDevice for this PhysicalEnvironment.
    `int` | `getCoexistenceCenterInPworldPolicy()` Returns the current coexistence center in physical world policy.
    `void` | `getCoexistenceToTrackerBase(Transform3D t)` Retrieves the coexistence coordinate system to tracker-base coordinate system transform and copies it into the specified Transform3D object.
    `int` | `getDominantHandIndex()` Gets the sensor index of the dominant hand.
    `int` | `getHeadIndex()` Gets the sensor index of the head.
    `int` | `getLeftHandIndex()` Gets the sensor index of the left hand.
    `int` | `getNonDominantHandIndex()` Gets the sensor index of the non-dominant hand.
    `int` | `getRightHandIndex()` Gets the sensor index of the right hand.
    `Sensor` | `getSensor(int index)` Gets the sensor specified by the index; sensors are indexed starting at 0.
    `int` | `getSensorCount()` Get the current sensor count.
    `boolean` | `getTrackingAvailable()` Returns a status flag indicating whether or not tracking is available.
    `void` | `removeInputDevice(InputDevice device)` Remove an input device from the list of input devices.
    `void` | `setAudioDevice(AudioDevice device)` Sets the specified AudioDevice object as the device through which audio rendering for this PhysicalEnvironment will be performed.
    `void` | `setCoexistenceCenterInPworldPolicy(int policy)` Sets the coexistence center in physical world policy.
    `void` | `setCoexistenceToTrackerBase(Transform3D t)` Sets the coexistence coordinate system to tracker-base coordinate system transform.
    `void` | `setDominantHandIndex(int index)` Sets the index of the dominant hand to the specified sensor index.
    `void` | `setHeadIndex(int index)` Sets the index of the head to the specified sensor index.
    `void` | `setLeftHandIndex(int index)` Sets the index of the left hand to the specified sensor index.
    `void` | `setNonDominantHandIndex(int index)` Sets the index of the non-dominant hand to the specified sensor index.
    `void` | `setRightHandIndex(int index)` Sets the index of the right hand to the specified sensor index.
    `void` | `setSensor(int index, Sensor sensor)` Set the sensor specified by the index to sensor provided; sensors are indexed starting at 0.
    `void` | `setSensorCount(int count)` Set the number of sensor objects per PhysicalEnvironmnet.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PhysicalEnvironment

          public PhysicalEnvironment()

      Constructs a PhysicalEnvironment object with default parameters. The default values are as follows:
      sensor count : 3
      sensors : null (for all array elements)
      head index : 0
      right hand index : 1
      left hand index : 2
      dominant hand index : 1
      nondominant hand index : 2
      tracking available : false
      audio device : null
      input device list : empty
      coexistence to tracker base transform : identity
      coexistence center in pworld policy : View.NOMINAL_SCREEN

    - #### PhysicalEnvironment

          public PhysicalEnvironment(int sensorCount)

      Constructs and initializes a PhysicalEnvironment object with the specified number of sensors.
      Parameters:
        `sensorCount` - the number of sensors to create.

  - ### Method Detail

    - #### setAudioDevice

          public void setAudioDevice(AudioDevice device)

      Sets the specified AudioDevice object as the device through which audio rendering for this PhysicalEnvironment will be performed.
      Parameters:
        `device` - audio device object to be associated with this PhysicalEnvironment

    - #### getAudioDevice

          public AudioDevice getAudioDevice()

      Gets the audioDevice for this PhysicalEnvironment.
      Returns:
        audio device object associated with this PhysicalEnvironment

    - #### getAllInputDevices

          public java.util.Enumeration getAllInputDevices()

      Create an enumerator that produces all input devices.
      Returns:
        an enumerator of all available devices

    - #### addInputDevice

          public void addInputDevice(InputDevice device)

      Add an input device to the list of input devices. User is responsible for initializing the device and setting the processing mode (streaming or polling).
      Parameters:
        `device` - the device to be added to the list of input devices
      Throws:
        `java.lang.IllegalArgumentException` - if InputDevice.getProcessingMode() does not return one of BLOCKING, NON_BLOCKING, or DEMAND_DRIVEN.

    - #### removeInputDevice

          public void removeInputDevice(InputDevice device)

      Remove an input device from the list of input devices. User is responsible for closing out the device and releasing the device resources.
      Parameters:
        `device` - the device to be removed

    - #### setHeadIndex

          public void setHeadIndex(int index)

      Sets the index of the head to the specified sensor index.
      Parameters:
        `index` - the new sensor index of the head

    - #### getHeadIndex

          public int getHeadIndex()

      Gets the sensor index of the head.
      Returns:
        the sensor index of the head

    - #### setRightHandIndex

          public void setRightHandIndex(int index)

      Sets the index of the right hand to the specified sensor index.
      Parameters:
        `index` - the new sensor index of the right hand

    - #### getRightHandIndex

          public int getRightHandIndex()

      Gets the sensor index of the right hand.
      Returns:
        the sensor index of the right hand

    - #### setLeftHandIndex

          public void setLeftHandIndex(int index)

      Sets the index of the left hand to the specified sensor index.
      Parameters:
        `index` - the new sensor index of the left hand

    - #### getLeftHandIndex

          public int getLeftHandIndex()

      Gets the sensor index of the left hand.
      Returns:
        the sensor index of the left hand

    - #### setDominantHandIndex

          public void setDominantHandIndex(int index)

      Sets the index of the dominant hand to the specified sensor index.
      Parameters:
        `index` - the new sensor index of the dominant hand

    - #### getDominantHandIndex

          public int getDominantHandIndex()

      Gets the sensor index of the dominant hand.
      Returns:
        the sensor index of the dominant hand

    - #### setNonDominantHandIndex

          public void setNonDominantHandIndex(int index)

      Sets the index of the non-dominant hand to the specified sensor index.
      Parameters:
        `index` - the new sensor index of the non dominant hand

    - #### getNonDominantHandIndex

          public int getNonDominantHandIndex()

      Gets the sensor index of the non-dominant hand.
      Returns:
        the sensor index of the non dominant hand

    - #### setSensor

          public void setSensor(int index,
                       Sensor sensor)

      Set the sensor specified by the index to sensor provided; sensors are indexed starting at 0. All sensors must be registered via this method.
      Parameters:
        `index` - the sensor's index
        `sensor` - the new sensor

    - #### getSensor

          public Sensor getSensor(int index)

      Gets the sensor specified by the index; sensors are indexed starting at 0.
      Parameters:
        `index` - the sensor's index

    - #### setCoexistenceToTrackerBase

          public void setCoexistenceToTrackerBase(Transform3D t)

      Sets the coexistence coordinate system to tracker-base coordinate system transform. If head tracking is enabled, this transform is a calibration constant. If head tracking is not enabled, this transform is not used. This is used in both SCREEN_VIEW and HMD_VIEW modes.
      Parameters:
        `t` - the new transform
      Throws:
        `BadTransformException` - if the transform is not rigid

    - #### getCoexistenceToTrackerBase

          public void getCoexistenceToTrackerBase(Transform3D t)

      Retrieves the coexistence coordinate system to tracker-base coordinate system transform and copies it into the specified Transform3D object.
      Parameters:
        `t` - the object that will receive the transform

    - #### getTrackingAvailable

          public boolean getTrackingAvailable()

      Returns a status flag indicating whether or not tracking is available.
      Returns:
        a flag telling whether tracking is available

    - #### setCoexistenceCenterInPworldPolicy

          public void setCoexistenceCenterInPworldPolicy(int policy)

      Sets the coexistence center in physical world policy. This setting determines how Java 3D places the user's eye point as a function of head position during the calibration process, one of View.NOMINAL_SCREEN, View.NOMINAL_HEAD, or View.NOMINAL_FEET. The default policy is View.NOMINAL_SCREEN.
      Parameters:
        `policy` - the new policy

    - #### getCoexistenceCenterInPworldPolicy

          public int getCoexistenceCenterInPworldPolicy()

      Returns the current coexistence center in physical world policy.
      Returns:
        one of: View.NOMINAL_SCREEN, View.NOMINAL_HEAD, or View.NOMINAL_FEET

    - #### getSensorCount

          public int getSensorCount()

      Get the current sensor count.
      Returns:
        the number of sensor objects per PhysicalEnvironment object

    - #### setSensorCount

          public void setSensorCount(int count)

      Set the number of sensor objects per PhysicalEnvironmnet. This is a calibration parameter that should be set before setting any sensors in the PhysicalEnvironment object. This call associates 'count' Sensors with this object, and they are indexed from 0 to count-1.
      Parameters:
        `count` - the new sensor count

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.