The following functions and classes perform operations on reference hierarchies. A reference hierarchy is a graph rooted at a particular reference maker.
CloneRefHierarchy
() - encapsulates the code necessary to clone a ReferenceTarget
and the reference hierarchy emanating from it. It handles multiple instances correctly, using a RemapDir
. It returns a duplicate of the entire reference hierarchy of the item passed.DependsOn()
- Returns TRUE if there is a path of references from the mkr
argument to the targ
; otherwise FALSE. Note that this returns TRUE if mkr
== targ.ClearAFlagInHierarchy()
- This function clears the specified Animatable flag(s) from each item in the reference hierarchy starting at the reference maker.ReferenceMaker::EnumRefHierarchy()
- This method walks down the reference hierarchy, recursively calling RefEnumProc::proc()
on the references held by a reference, assuring each reference is called only once. TReferenceTarget::DoEnumDependents()
- This is used to enumerate up the reference hierarchy.DependentIterator
- This class is useful for iterating over the direct dependents of a reference target.