Dynamic Accordion Drawing

This page is for noting the significant differences between the static versions of Accordion Drawing applications (and base generic code) and dynamic versions. Also should include new application requirements that were not satisfiable by the original code which prompted the change to dynamic Accordion Drawing.

Original applications versus new changes

Generic code

  • Red-black tree for storing split lines instead of array
    • Indexing split lines not possible
    • Array of length N no longer needed

TreeJuxtaposer

TreeJuxtaposer was not to be changed to a dynamic Accordion Drawing infrastructure as it's not a priority to support tree editing due to complexity involved with user-controlled modifications of the topology (more info needed here?). Simple editing of labels will be supported to provide renaming nodes (add/delete/rename node names through their labels) and these changes will be saved back to a new tree file. These changes are not what we consider dynamic.

Where new dynamic code uses

  • Store leaves in split line hierarchy
    • Do not keep an array of leaves indexed (this may have to change) as we can index them from the split line hierarchy with index lookups of split lines
      • Might have issues with range lookups during descent drawing
    • right-most leaf of entire tree not in the hierarchy (one more leaf than we have split lines, arbitrary choice either left-most or right-most)
    • Nodes in topology still store reference to left- and right-most leaves

  • Nodes still keyed (integers) the same as original method (depth-first/left-to-right (top-down) numbering)
    • If node with key K is a right-most leaf of any internal node N, then K+1 is next internal node that is not in the subtree under N, or an ancestor of N (is either a sibling or ancestor of N's sibling)

  • Descent drawing bug

SequenceJuxtaposer

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2007-01-15 - TWikiGuest
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback