## javax.media.j3d
Class NodeReferenceTable

    java.lang.Object
      javax.media.j3d.NodeReferenceTable

    public class NodeReferenceTable

extends java.lang.Object

The NodeReferenceTable object is used by a leaf node's `updateNodeReferences` method called by the `cloneTree` method. The NodeReferenceTable maps nodes from the original subgraph to the new nodes in the cloned subgraph. This information can then be used to update any cloned leaf node references to reference nodes in the cloned subgraph.

During a `cloneTree` call, after all nodes have been duplicated, each SceneGraphObject's `updateNodeReferences` method is called. This method takes a NodeReferenceTable object as a parameter. The SceneGraphObject's `updateNodeReferences` method can then use the `getNewObjectReference` method from this object to get updated references to objects that have been duplicated in the new cloneTree sub-graph. If a match is found, a reference to the corresponding SceneGraphObject in the newly cloned sub-graph is returned. If no corresponding reference is found, either a DanglingReferenceException is thrown by the `cloneTree` method or a reference to the original SceneGraphObject is returned depending on the value of the `allowDanglingReferences` parameter passed in the `cloneTree` call.

See Also:
  `SceneGraphObject.updateNodeReferences(javax.media.j3d.NodeReferenceTable)`, `Node.cloneTree()`, `DanglingReferenceException`

Constructor Summary
`NodeReferenceTable()` Constructs an empty NodeReferenceTable.

Method Summary
`SceneGraphObject` `getNewObjectReference(SceneGraphObject oldReference)` This method is used in conjunction with the `cloneTree` method.

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

Constructor Detail

### NodeReferenceTable

    public NodeReferenceTable()

  Constructs an empty NodeReferenceTable.

  Since:
    Java 3D 1.2

Method Detail

### getNewObjectReference

    public final SceneGraphObject getNewObjectReference(SceneGraphObject oldReference)

  This method is used in conjunction with the `cloneTree` method. It can be used by the `updateNodeReferences` method to see if a SceneGraphObject that is being referenced has been duplicated in the new cloneTree sub-graph.

  A SceneGraphObject's `updateNodeReferences` method would use this method by calling it with the reference to the old (existed before the cloneTree operation) object. If the object has been duplicated in the cloneTree sub-graph, the corresponding object in the cloned sub-graph is returned. If no corresponding reference is found, either a DanglingReferenceException is thrown or a reference to the original SceneGraphObject is returned depending on the value of the `allowDanglingReferences` parameter passed in the `cloneTree` call.

  Parameters:
    `oldReference` - the reference to the object in the original sub-graph.
  Returns:
    A reference to the corresponding object in the cloned sub-graph. If no corresponding object exists, either a DanglingReferenceException will be generated by the `cloneTree` method or a reference to the original object is returned depending on the value of the `allowDanglingReferences` parameter passed in the `cloneTree` call.
  See Also:
    `SceneGraphObject.updateNodeReferences(javax.media.j3d.NodeReferenceTable)`, `Node.cloneTree()`, `DanglingReferenceException`

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