: Class Sensor

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.media.j3d
Class Sensor

    java.lang.Object
      |
      +--javax.media.j3d.Sensor

public class Sensor
extends java.lang.Object

The Sensor Class encapsulates an object that provides real-time data. Examples include six-degree-of-freedom tracking, a joystick, or a data file being read back during a program. A sensor must be used in conjuction with an implementation of the InputDevice interface. Sensor data is time-stamped. Sensor can also handle button inputs.

Field Summary
`static int` | `DEFAULT_SENSOR_READ_COUNT` Default SensorRead object count (30); the number of SensorRead objects constructed if no count is specified.
`static int` | `HAND_PREDICTOR` Set the predictor policy to assume the sensor is predicting hand position/orientation
`static int` | `HEAD_PREDICTOR` Set the predictor policy to assume the sensor is predicting head position/orientation
`static int` | `NO_PREDICTOR` Use no prediction policy; this is the default
`static int` | `PREDICT_NEXT_FRAME_TIME` Set predictor type to generate the SensorRead to correspond with the next frame time
`static int` | `PREDICT_NONE` Set predictor type to do no prediction; this is the default

Constructor Summary
`Sensor(InputDevice device)` Constructs a Sensor object for the specified input device using default parameters.
`Sensor(InputDevice device, int sensorReadCount)` Constructs a Sensor object for the specified input device using the specified number of SensorRead objects.
`Sensor(InputDevice device, int sensorReadCount, int sensorButtonCount)` Constructs a Sensor object for the specified input device using the specified number of SensorRead objects and number of buttons.
`Sensor(InputDevice device, int sensorReadCount, int sensorButtonCount, Point3d hotspot)` Constructs a Sensor object for the specified input device using the specified number of SensorRead objects, number of buttons, and hotspot.
`Sensor(InputDevice device, int sensorReadCount, Point3d hotspot)` Constructs a Sensor object for the specified input device using the specified number of SensorRead objects and hotspot.
`Sensor(InputDevice device, Point3d hotspot)` Constructs a Sensor object for the specified input device using the specified hotspot.

Method Summary
`SensorRead` | `getCurrentSensorRead()` Get the current sensor read.
`InputDevice` | `getDevice()` Retrieves the sensor's associated input device
`void` | `getHotspot(Point3d hotspot)` Get the sensor's hotspot offset in this sensor's coordinate system.
`int` | `getPredictionPolicy()` This function returns the prediction policy used by this sensor.
`int` | `getPredictor()` This function returns the type of predictor used by this sensor.
`void` | `getRead(Transform3D read)` Computes the sensor reading consistent with the prediction policy and copies that value into the specified argument; calling this method with a prediction policy of NO_PREDICTOR will return the last sensor reading; calling this method with a prediction policy of HAND_PREDICTOR, or HEAD_PREDICTOR will extrapolate previous sensor readings to the current time.
`void` | `getRead(Transform3D read, long deltaT)` Computes the sensor reading consistent as of time deltaT in the future and copies that value into the specified argument; the reading is computed using the current prediction policy; a prediction policy of NO_PREDICTOR will yield the most recent sensor reading for any deltaT argument (ie, this method is the same as getRead for a prediction policy of NO_PREDICTOR).
`int` | `getSensorButtonCount()` This function returns the number of buttons associated with this sensor.
`int` | `getSensorReadCount()` This function returns the number of SensorRead objects associated with this sensor.
`int` | `lastButtons()` Deprecated. Use lastButtons(int[] values) instead.
`int` | `lastButtons(int k)` Deprecated. Use lastButtons(int k, int[] values) instead.
`void` | `lastButtons(int[] values)` Places the most recent sensor reading value for each button into the array parameter; will throw an ArrayIndexOutOfBoundsException if values.length is less than the number of buttons.
`void` | `lastButtons(int k, int[] values)` Places the kth most recent sensor reading value for each button into the array parameter; where k=0 is the most recent sensor reading, k=1 is the next most recent sensor reading, etc.; will throw an ArrayIndexOutOfBoundsException if values.length is less than the number of buttons.
`void` | `lastRead(Transform3D read)` Extracts the most recent sensor reading and copies that value into the specified argument.
`void` | `lastRead(Transform3D read, int kth)` Extracts the kth most recent sensor reading and copies that value into the specified argument; where 0 is the most recent sensor reading, 1 is the next most recent sensor reading, etc.
`long` | `lastTime()` Returns the time associated with the most recent sensor reading.
`long` | `lastTime(int k)` Returns the time associated with the kth most recent sensor reading; where 0 is the most recent sensor reading, 1 is the next most recent sensor reading, etc.
`void` | `setDevice(InputDevice device)` Set the sensor's associated input device
`void` | `setHotspot(Point3d hotspot)` Set the sensor's hotspot offset in this sensor's coordinate system; this value will be subtracted from the translation component of each transform sent to the Sensor object via the setNextSensorRead call.
`void` | `setNextSensorRead(long time, Transform3D transform, int buttons)` Deprecated. Use setNextSensorRead(long time, Transform3D transform, int[] buttons) instead.
`void` | `setNextSensorRead(long time, Transform3D transform, int[] values)` Sets the next sensor read to the specified values; once these values are set via this method they become the current values returned by methods such as lastRead(), lastTime() and lastButtons(); note that if there are no buttons associated with this sensor then values can just be an empty array.
`void` | `setNextSensorRead(SensorRead read)` Sets the next sensor read to the specified values; once these values are set via this method they become the current values returned by methods such as lastRead(), lastTime() and lastButtons().
`void` | `setPredictionPolicy(int policy)` This function sets the prediction policy use by this sensor.
`void` | `setPredictor(int predictor)` This function set the type of predictor to use with this sensor.
`void` | `setSensorReadCount(int count)` Set the number of sensor read objects per Sensor.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PREDICT_NONE

    public static final int PREDICT_NONE

  Set predictor type to do no prediction; this is the default

### PREDICT_NEXT_FRAME_TIME

    public static final int PREDICT_NEXT_FRAME_TIME

  Set predictor type to generate the SensorRead to correspond with the next frame time

### NO_PREDICTOR

    public static final int NO_PREDICTOR

  Use no prediction policy; this is the default

### HEAD_PREDICTOR

    public static final int HEAD_PREDICTOR

  Set the predictor policy to assume the sensor is predicting head position/orientation

### HAND_PREDICTOR

    public static final int HAND_PREDICTOR

  Set the predictor policy to assume the sensor is predicting hand position/orientation

### DEFAULT_SENSOR_READ_COUNT

    public static final int DEFAULT_SENSOR_READ_COUNT

  Default SensorRead object count (30); the number of SensorRead objects constructed if no count is specified.

Constructor Detail

### Sensor

    public Sensor(InputDevice device)

  Constructs a Sensor object for the specified input device using default parameters. The default values are as follows:
  sensor read count : 30
  sensor button count : 0
  hot spot : (0,0,0)
  predictor : PREDICT_NONE
  prediction policy : NO_PREDICTOR
  Parameters:
    `device` - the Sensor's associated device.

### Sensor

    public Sensor(InputDevice device,
                  int sensorReadCount)

  Constructs a Sensor object for the specified input device using the specified number of SensorRead objects. Default values are used for all other parameters.
  Parameters:
    `device` - the Sensor's associated device.
    `sensorReadCount` - the number of SensorReads to associate with this sensor.

### Sensor

    public Sensor(InputDevice device,
                  int sensorReadCount,
                  int sensorButtonCount)

  Constructs a Sensor object for the specified input device using the specified number of SensorRead objects and number of buttons. Default values are used for all other parameters.
  Parameters:
    `device` - the Sensor's associated device.
    `sensorReadCount` - the number of SensorReads to associate with this sensor.
    `sensorButtonCount` - the number of buttons associated with each sensor read.

### Sensor

    public Sensor(InputDevice device,
                  Point3d hotspot)

  Constructs a Sensor object for the specified input device using the specified hotspot. Default values are used for all other parameters.
  Parameters:
    `device` - the Sensor's associated device.
    `hotspot` - the Sensor's hotspot defined in its local coordinate system.

### Sensor

    public Sensor(InputDevice device,
                  int sensorReadCount,
                  Point3d hotspot)

  Constructs a Sensor object for the specified input device using the specified number of SensorRead objects and hotspot. Default values are used for all other parameters.
  Parameters:
    `device` - the Sensor's associated device.
    `sensorReadCount` - the number of SensorReads to associate with this sensor.
    `hotspot` - the Sensor's hotspot defined in its local coordinate system.

### Sensor

    public Sensor(InputDevice device,
                  int sensorReadCount,
                  int sensorButtonCount,
                  Point3d hotspot)

  Constructs a Sensor object for the specified input device using the specified number of SensorRead objects, number of buttons, and hotspot. Default values are used for all other parameters.
  Parameters:
    `device` - the Sensor's associated device.
    `sensorReadCount` - the number of SensorReads to associate with this sensor.
    `sensorButtonCount` - the number of buttons associated with each sensor read.
    `hotspot` - the Sensor's hotspot defined in its local coordinate system.

Method Detail

### setPredictor

    public void setPredictor(int predictor)

  This function set the type of predictor to use with this sensor.
  Parameters:
    `predictor` - predictor type one of PREDICT_NONE or PREDICT_NEXT_FRAME_TIME.
  Throws:
    java.lang.IllegalArgumentException - if an invalid predictor type is specified.

### getPredictor

    public int getPredictor()

  This function returns the type of predictor used by this sensor.
  Returns:
    returns the predictor type. One of PREDICT_NONE or PREDICT_NEXT_FRAME_TIME.

### setPredictionPolicy

    public void setPredictionPolicy(int policy)

  This function sets the prediction policy use by this sensor.
  Parameters:
    `policy` - prediction policy one of NO_PREDICTOR, HEAD_PREDICTOR, or HAND_PREDICTOR.
  Throws:
    java.lang.IllegalArgumentException - if an invalid prediction policy is specified.

### getPredictionPolicy

    public int getPredictionPolicy()

  This function returns the prediction policy used by this sensor.
  Returns:
    returns the prediction policy. one of NO_PREDICTOR, HEAD_PREDICTOR, or HAND_PREDICTOR.

### setHotspot

    public void setHotspot(Point3d hotspot)

  Set the sensor's hotspot offset in this sensor's coordinate system; this value will be subtracted from the translation component of each transform sent to the Sensor object via the setNextSensorRead call.
  Parameters:
    `hotspot` - the sensor's new hotspot

### getHotspot

    public void getHotspot(Point3d hotspot)

  Get the sensor's hotspot offset in this sensor's coordinate system.
  Parameters:
    `hotspot` - the variable to receive the sensor's hotspot

### setDevice

    public void setDevice(InputDevice device)

  Set the sensor's associated input device
  Parameters:
    `device` - the sensor's new device

### getDevice

    public InputDevice getDevice()

  Retrieves the sensor's associated input device
  Returns:
    the sensor's device

### getRead

    public void getRead(Transform3D read)

  Computes the sensor reading consistent with the prediction policy and copies that value into the specified argument; calling this method with a prediction policy of NO_PREDICTOR will return the last sensor reading; calling this method with a prediction policy of HAND_PREDICTOR, or HEAD_PREDICTOR will extrapolate previous sensor readings to the current time.
  Parameters:
    `read` - The matrix that will receive the predicted sensor reading

### getRead

    public void getRead(Transform3D read,
                        long deltaT)

  Computes the sensor reading consistent as of time deltaT in the future and copies that value into the specified argument; the reading is computed using the current prediction policy; a prediction policy of NO_PREDICTOR will yield the most recent sensor reading for any deltaT argument (ie, this method is the same as getRead for a prediction policy of NO_PREDICTOR). The time argument must be >= 0.
  Parameters:
    `read` - The matrix that will receive the predicted sensor reading
    `deltaT` - The time delta into the future for this read

### lastRead

    public void lastRead(Transform3D read)

  Extracts the most recent sensor reading and copies that value into the specified argument.
  Parameters:
    `read` - The matrix that will receive the most recent sensor reading

### lastRead

    public void lastRead(Transform3D read,
                         int kth)

  Extracts the kth most recent sensor reading and copies that value into the specified argument; where 0 is the most recent sensor reading, 1 is the next most recent sensor reading, etc.
  Parameters:
    `read` - The matrix that will receive the most recent sensor reading
    `k` - The kth previous sensor reading

### lastTime

    public long lastTime()

  Returns the time associated with the most recent sensor reading.
  Returns:
    the time associated with the most recent sensor reading.

### lastTime

    public long lastTime(int k)

  Returns the time associated with the kth most recent sensor reading; where 0 is the most recent sensor reading, 1 is the next most recent sensor reading, etc.
  Returns:
    the time associated with the kthmost recent sensor reading.

### lastButtons

    public void lastButtons(int[] values)

  Places the most recent sensor reading value for each button into the array parameter; will throw an ArrayIndexOutOfBoundsException if values.length is less than the number of buttons.
  Parameters:
    `values` - the array into which the button values will be placed.

### lastButtons

    public int lastButtons()

  Deprecated. Use lastButtons(int[] values) instead.

### lastButtons

    public void lastButtons(int k,
                            int[] values)

  Places the kth most recent sensor reading value for each button into the array parameter; where k=0 is the most recent sensor reading, k=1 is the next most recent sensor reading, etc.; will throw an ArrayIndexOutOfBoundsException if values.length is less than the number of buttons.
  Parameters:
    `k` - the time associated with the most recent sensor reading
    `values` - the array into which the button values will be placed.

### lastButtons

    public int lastButtons(int k)

  Deprecated. Use lastButtons(int k, int[] values) instead.

### getSensorReadCount

    public final int getSensorReadCount()

  This function returns the number of SensorRead objects associated with this sensor.
  Returns:
    the number of SensorReadObjects associated with this sensor.

### setSensorReadCount

    public void setSensorReadCount(int count)

  Set the number of sensor read objects per Sensor. This is a calibration parameter that should normally be set in this object's constructor. Calling this method resets all of this sensor's values that are already in the buffer.
  Parameters:
    `count` - the new sensor read count

### getSensorButtonCount

    public final int getSensorButtonCount()

  This function returns the number of buttons associated with this sensor.
  Returns:
    the number of buttons associated with this sensor.

### getCurrentSensorRead

    public SensorRead getCurrentSensorRead()

  Get the current sensor read.

### setNextSensorRead

    public void setNextSensorRead(long time,
                                  Transform3D transform,
                                  int[] values)

  Sets the next sensor read to the specified values; once these values are set via this method they become the current values returned by methods such as lastRead(), lastTime() and lastButtons(); note that if there are no buttons associated with this sensor then values can just be an empty array.
  Parameters:
    `time` - The next SensorRead's associated time
    `transform` - The next SensorRead's transformation
    `values` - The next SensorRead's buttons' states

### setNextSensorRead

    public void setNextSensorRead(SensorRead read)

  Sets the next sensor read to the specified values; once these values are set via this method they become the current values returned by methods such as lastRead(), lastTime() and lastButtons().
  Parameters:
    `read` - The next SensorRead's values

### setNextSensorRead

    public void setNextSensorRead(long time,
                                  Transform3D transform,
                                  int buttons)

  Deprecated. Use setNextSensorRead(long time, Transform3D transform, int[] buttons) instead.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD