>  Docs Center  >  Libraries  >  Mankoff  >  OBJTREE__DEFINE


  NAME: ObjTree
  PURPOSE: A Object Based data Tree
  CATEGORY: Object-Based Data Manipulation


  CHILDREN(): Return this node's child object(s).
  SIBLING(): Return this node's sibling object(s)
  SETVALUE: Sets Object Data Values -- use ADD unless custom addition.
  KEYWORDS: Each keyword sets the corresponding member data with the
  passed value, which can either be an object list or pointer to one.
  CHILDREN: The node's children
  SIBLINGS: The node's siblings ... points also to parent's
  children list.
  LEAFS, list: return a list of all leafs below this node.
  FAMILY, list: return a list of all of this node's descendents.
  VISIT, method: Recursively call method method on all descendents,
  passing it any extra keywords (which might be required to effect
  any modification of the node data).
  LEAFVISIT, method: Same as visit, but only for leafs.
  ADD, entry: Add the object entry to this node.


  SIBLING: Add entry as a sibling instead of default child.
  NOTE: An added sibling is always younger than any existing siblings.
  An added child inherits is made the sibling of any existing children.
  DELETE: Delete this node, and all of its desendents (recursively).
  NOTE: If this node has a parent, its child reference is assigned
  to the next younger sibling, if no older siblings exist. If no other
  siblings exist at all, the parent's child reference is cleared.
  PRUNE: Delete the entire tree *except* this node and its descendents,
  leaving this node as the root of the Tree.
  CLEANUP: (Automotically called)
  NOTES: Each node in the tree is represented by a single instance
  of this class. This tree has these properties: A node's list of
  children is the same list as its children's list of siblings.. not
  a copy, the *same* list -- modifying the children list at the same
  time modifies the children's sibling list. New generations can
  only be added at extremities of the tree, i.e. at those nodes
  which don't yet have children. Otherwise, new children will join
  those children already living. You may use SetValue to circumvent
  these limits, but beware: inbred trees may result.

Modification History

11/13/98 -- Added Leafs and LeafVisit. JDS
      6/4/98 -- Removed Gen, changed ModPro to a Call_Method in Method. JDS
  5/12/98 -- JD Smith

© 2020 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us