com.sun.j3d.utils.behaviors.sensor

## Class Mouse6DPointerBehavior

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.Node
    - - javax.media.j3d.Leaf
      - - javax.media.j3d.Behavior
        - - com.sun.j3d.utils.behaviors.sensor.Mouse6DPointerBehavior

-     public class Mouse6DPointerBehavior
      extends Behavior

  This class provides basic behavior for a 6DOF mouse sensor. It generates a visible 3D cursor echo in the virtual world which tracks the position and orientation of the 6DOF mouse in the physical world. It can be extended to provide other functions by accessing its SensorEventAgent.
  Since:
    Java 3D 1.3
  See Also:
    `SensorEventAgent`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Mouse6DPointerBehavior.EchoReadListener` This member class updates the echo transform in response to sensor reads.

  - ### Field Summary

    - ### Fields inherited from class javax.media.j3d.Node

      `ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Mouse6DPointerBehavior(Sensor sensor, double size, boolean enableLighting)` Constructs the behavior with a default echo.
    `Mouse6DPointerBehavior(Sensor sensor, TransformGroup tg)` Constructs the behavior with an echo parented by the specified TransformGroup.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TransformGroup` | `getEcho()` Gets the echo used by this behavior.
    `Sensor` | `getSensor()` Gets the sensor used by this behavior.
    `SensorEventAgent` | `getSensorEventAgent()` Gets the SensorEventAgent used by this behavior.
    `void` | `initialize()` Initializes the behavior.
    `void` | `processStimulus(java.util.Enumeration criteria)` Processes a stimulus meant for this behavior.

    - ### Methods inherited from class javax.media.j3d.Behavior

      `getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn`

    - ### Methods inherited from class javax.media.j3d.Node

      `cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

    - ### Methods inherited from class javax.media.j3d.SceneGraphObject

      `clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString`

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

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

- - ### Constructor Detail

    - #### Mouse6DPointerBehavior

          public Mouse6DPointerBehavior(Sensor sensor,
                                double size,
                                boolean enableLighting)

      Constructs the behavior with a default echo. To make the echo visible, call getEcho() to retrieve the TransformGroup that parents the echo geometry, and then add that TransformGroup to the scene graph.

      The default echo is a solid 6-pointed star where each point is aligned with the axes of the local coordinate system of the sensor, and with the center of the star at the location of the sensor hotspot.

      Parameters:
        `sensor` - a 6 degree of freedom Sensor which generates position and orientation relative to the tracker base.
        `size` - the physical width of the echo in centimeters.
        `enableLighting` - a boolean indicating whether the echo geometry should have lighting enabled.

    - #### Mouse6DPointerBehavior

          public Mouse6DPointerBehavior(Sensor sensor,
                                TransformGroup tg)

      Constructs the behavior with an echo parented by the specified TransformGroup.
      Parameters:
        `sensor` - a 6 degree of freedom Sensor which generates position and orientation relative to the tracker base.
        `tg` - a TransformGroup with a child defining the visible echo which will track the Sensor position and orientation; the Transform3D associated with the TransformGroup will be updated in order to effect the behavior, so it must have the ALLOW_TRANSFORM_WRITE capability set before the scene graph is set live

  - ### Method Detail

    - #### getSensor

          public Sensor getSensor()

      Gets the sensor used by this behavior.
      Returns:
        the sensor used by this behavior

    - #### getEcho

          public TransformGroup getEcho()

      Gets the echo used by this behavior.
      Returns:
        the TransformGroup parenting this behavior's echo geometry

    - #### getSensorEventAgent

          public SensorEventAgent getSensorEventAgent()

      Gets the SensorEventAgent used by this behavior. This can be used to add customized event bindings to this behavior.
      Returns:
        the SensorEventAgent

    - #### initialize

          public void initialize()

      Initializes the behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.
      Specified by:
        `initialize` in class `Behavior`

    - #### processStimulus

          public void processStimulus(java.util.Enumeration criteria)

      Processes a stimulus meant for this behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.
      Specified by:
        `processStimulus` in class `Behavior`
      Parameters:
        `criteria` - an enumeration of triggered wakeup criteria for this behavior

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