javax.media.j3d
Class Link

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.Node
              |
              +--javax.media.j3d.Leaf
                    |
                    +--javax.media.j3d.Link

public class Link
extends Leaf

A Link leaf node consisting of a reference to a SharedGroup node.


Field Summary
static int ALLOW_SHARED_GROUP_READ
          For Link nodes, specifies that the node allows access to its object's SharedGroup information.
static int ALLOW_SHARED_GROUP_WRITE
          For Link nodes, specifies that the node allows writing its object's SharedGroup information.
 
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_PICK, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
Link()
          Constructs a Link node object which does not yet point to a SharedGroup node.
Link(SharedGroup sharedGroup)
          Constructs a Link node object that points to the specified SharedGroup node.
 
Method Summary
 Node cloneNode(boolean forceDuplicate)
          Used to create a new instance of the node.
 void duplicateNode(Node originalNode, boolean forceDuplicate)
          Copies all node information from originalNode into the current node.
 SharedGroup getSharedGroup()
          Retrieves the node's SharedGroup reference.
 void setSharedGroup(SharedGroup sharedGroup)
          Sets the node's SharedGroup reference.
 
Methods inherited from class javax.media.j3d.Leaf
updateNodeReferences
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALLOW_SHARED_GROUP_READ

public static final int ALLOW_SHARED_GROUP_READ
For Link nodes, specifies that the node allows access to its object's SharedGroup information.

ALLOW_SHARED_GROUP_WRITE

public static final int ALLOW_SHARED_GROUP_WRITE
For Link nodes, specifies that the node allows writing its object's SharedGroup information.
Constructor Detail

Link

public Link()
Constructs a Link node object which does not yet point to a SharedGroup node.

Link

public Link(SharedGroup sharedGroup)
Constructs a Link node object that points to the specified SharedGroup node.
Parameters:
sharedGroup - the SharedGroup node
Method Detail

setSharedGroup

public final void setSharedGroup(SharedGroup sharedGroup)
Sets the node's SharedGroup reference.
Parameters:
sharedGroup - the SharedGroup node to reference
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getSharedGroup

public final SharedGroup getSharedGroup()
Retrieves the node's SharedGroup reference.
Returns:
the SharedGroup 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.
The cloned Link node will refer to the same SharedGroup as the original node. The SharedGroup referred to by this Link node will not be cloned.
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)

duplicateNode

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

For any NodeComponent objects contained by the object being duplicated, each NodeComponent object's duplicateOnCloneTree value is used to determine whether the NodeComponent should be duplicated in the new node or if just a reference to the current node should be placed in the new node. This flag can be overridden by setting the forceDuplicate parameter in the cloneTree method to true.

Overrides:
duplicateNode 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.
See Also:
Node.cloneTree(), Node.cloneNode(boolean), NodeComponent.setDuplicateOnCloneTree(boolean)