javax.media.j3d

## Class BoundingLeaf

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.Node
    - - javax.media.j3d.Leaf
      - - javax.media.j3d.BoundingLeaf

-     public class BoundingLeaf
      extends Leaf

  The BoundingLeaf node defines a bounding region object that can be referenced by other nodes to define a region of influence (Fog and Light nodes), an application region (Background, Clip, and Soundscape nodes), or a scheduling region (Sound and Behavior nodes). The bounding region is defined in the local coordinate system of the BoundingLeaf node. A reference to a BoundingLeaf node can be used in place of a locally defined bounds object for any of the aforementioned regions.

  This allows an application to specify a bounding region in one coordinate system (the local coordinate system of the BoundingLeaf node) other than the local coordinate system of the node that references the bounds. For an example of how this might be used, consider a closed room with a number of track lights. Each light can move independent of the other lights and, as such, needs its own local coordinate system. However, the bounding volume is used by all the lights in the boundary of the room, which doesn't move when the lights move. In this example, the BoundingLeaf node allows the bounding region to be defined in the local coordinate system of the room, rather than in the local coordinate system of a particular light. All lights can then share this single bounding volume.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ALLOW_REGION_READ` Specifies that this BoundingLeaf node allows read access to its bounding region object.
    `static int` | `ALLOW_REGION_WRITE` Specifies that this BoundingLeaf node allows write access to its bounding region object.

    - ### 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
    `BoundingLeaf()` Constructs a BoundingLeaf node with a null (empty) bounding region.
    `BoundingLeaf(Bounds region)` Constructs a BoundingLeaf node with the specified bounding region.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Node` | `cloneNode(boolean forceDuplicate)` Used to create a new instance of the node.
    `Bounds` | `getRegion()` Retrieves this BoundingLeaf's bounding region.
    `void` | `setRegion(Bounds region)` Sets this BoundingLeaf node's bounding region.

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

      `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, updateNodeReferences`

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

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

- - ### Field Detail

    - #### ALLOW_REGION_READ

          public static final int ALLOW_REGION_READ

      Specifies that this BoundingLeaf node allows read access to its bounding region object.
      See Also:
        Constant Field Values

    - #### ALLOW_REGION_WRITE

          public static final int ALLOW_REGION_WRITE

      Specifies that this BoundingLeaf node allows write access to its bounding region object.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BoundingLeaf

          public BoundingLeaf()

      Constructs a BoundingLeaf node with a null (empty) bounding region.

    - #### BoundingLeaf

          public BoundingLeaf(Bounds region)

      Constructs a BoundingLeaf node with the specified bounding region.
      Parameters:
        `region` - the bounding region of this leaf node

  - ### Method Detail

    - #### setRegion

          public void setRegion(Bounds region)

      Sets this BoundingLeaf node's bounding region.
      Parameters:
        `region` - the bounding region of this leaf node
      Throws:
        `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

    - #### getRegion

          public Bounds getRegion()

      Retrieves this BoundingLeaf's bounding region.
      Returns:
        the bounding region of this leaf node
      Throws:
        `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

    - #### cloneNode

          public Node cloneNode(boolean forceDuplicate)

      Used to create a new instance of the node. This routine is called by `cloneTree` to duplicate the current node.
      Overrides:
        `cloneNode` in class `Node`
      Parameters:
        `forceDuplicate` - when set to `true`, causes the `duplicateOnCloneTree` flag to be ignored. When `false`, the value of each node's `duplicateOnCloneTree` variable determines whether NodeComponent data is duplicated or copied.
      See Also:
        `Node.cloneTree()`, `Node.cloneNode(boolean)`, `Node.duplicateNode(javax.media.j3d.Node, boolean)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`

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