harmonic.mz.util
Class TreeCopier

java.lang.Object
  |
  +--harmonic.mz.util.TreeCopier

public class TreeCopier
extends java.lang.Object


Constructor Summary
TreeCopier()
           
 
Method Summary
 DataNode deepCopy(DataNode source)
           
 DataNode deepCopy(DataNode source, boolean bDeref)
           
 void dereference(DataNode link)
          Derefererence the link as if the object was deep copied from its source.
 DataNode linkCopy(DataNode source)
          Make a copy of source without copying geometry or children.
 void reference(DataNode link, DataNode linkTo)
          Make 'link' point to 'linkTo'
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeCopier

public TreeCopier()
Method Detail

deepCopy

public DataNode deepCopy(DataNode source)

deepCopy

public DataNode deepCopy(DataNode source,
                         boolean bDeref)

linkCopy

public DataNode linkCopy(DataNode source)
Make a copy of source without copying geometry or children. The copy keeps a pointer to the source, and has some special behavior to enable independent transformation. But the copy is of the same type. If the source is itself a link, then link to its link, so all links point directly to the original source. Note transformations are still copied from link.


dereference

public void dereference(DataNode link)
Derefererence the link as if the object was deep copied from its source. Just do the deep copy and link shape.


reference

public void reference(DataNode link,
                      DataNode linkTo)
Make 'link' point to 'linkTo'