javax.media.j3d
Class NodeReferenceTable

java.lang.Object
  |
  +--javax.media.j3d.NodeReferenceTable

public class NodeReferenceTable
extends java.lang.Object

During a cloneTree call, after all nodes have been duplicated, each Leaf node's updateNodeReferences method is called. This method takes a NodeReferenceTable object as a parameter. The Leaf node's updateNodeReferences method can then use the getNewNodeReference 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 Node 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 node is returned depending on the value of the allowDanglingReferences parameter passed in the cloneTree call.

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

Method Summary
 Node getNewNodeReference(Node oldReference)
          Deprecated. As of Java 3D version 1.1, replaced by getNewObjectReference
 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
 

Method Detail

getNewNodeReference

public final Node getNewNodeReference(Node oldReference)
Deprecated. As of Java 3D version 1.1, replaced by getNewObjectReference


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 node that is being referenced has been duplicated in the new cloneTree sub-graph.

A Leaf node'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 node 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:
Leaf.updateNodeReferences(javax.media.j3d.NodeReferenceTable), Node.cloneTree(), DanglingReferenceException