javax.media.j3d
Class BoundingLeaf

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by 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
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.
private static int[] readCapabilities
           
 
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
 
Fields inherited from class javax.media.j3d.SceneGraphObject
nodeHashtable, retained
 
Constructor Summary
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
 Node cloneNode(boolean forceDuplicate)
          Used to create a new instance of the node.
(package private)  void createRetained()
          Creates the BoundingLeafRetained object that this BoundingLeaf object will point to.
(package private)  void duplicateAttributes(Node originalNode, boolean forceDuplicate)
          Copies all BoundingLeaf information from originalNode into the current 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
checkDuplicateNode, checkForCycle, cloneTree, 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
capabilityBitsEmpty, checkForLiveOrCompiled, clearCapability, clearCapabilityIsFrequent, clearLive, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getNamePrefix, getNodeComponent, getUserData, isCompiled, isLive, isLiveOrCompiled, setCapability, setCapabilityIsFrequent, setCompiled, setDefaultReadCapabilities, setLive, 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

readCapabilities

private static final int[] readCapabilities
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

createRetained

void createRetained()
Creates the BoundingLeafRetained object that this BoundingLeaf object will point to.

Overrides:
createRetained in class SceneGraphObject

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)

duplicateAttributes

void duplicateAttributes(Node originalNode,
                         boolean forceDuplicate)
Copies all BoundingLeaf information from originalNode into the current node. This method is called from the cloneNode method which is, in turn, called by the cloneTree method.

Overrides:
duplicateAttributes in class Node
Parameters:
originalNode - the original node to duplicate.
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.
Throws:
RestrictedAccessException - if this object is part of a live or compiled scenegraph.
See Also:
Node.duplicateNode(javax.media.j3d.Node, boolean), Node.cloneTree(), NodeComponent.setDuplicateOnCloneTree(boolean)


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