5,419
edits
Changes
m
The source code that generates the Ancestry Tree portion of the Narrated Website can be found below [https://github.com/gramps-project/gramps/tree/master/gramps/plugins/webreport Gramps/gramps/plugins/webreport] in a Gramps source code tree.
The Narrated Website Report can include an Ancestry Tree. The layout of the tree uses a tree generating algorithm created by [[#walker|Walker[http://www.cs.unc.edu/techreports/89-034.pdf]] and then improved by [[#buchheim|Buchheim ]] et.al[http://dirk.jivas.de/papers/buchheim02improving.pdf].
The tree is first defined as a series of objects each containing a node plus references to the child-nodes of this node and the Buchheim algorithm then uses these child/parent relationships, together with a minimum separation vertically and horizontally, to determine a reasonable layout. The generated tree provides an X and Y coordinate for each node.
==References==
* <nowikispan id="walker">[1]J. Q. Walker II</nowikispan> . [http://www.cs.unc.edu/techreports/89-034.pdf A Nodenode-Positioning Algorihm positioning algorithm for General Treesgeneral trees]]. John Q''Softw. – Pract. Exp.'', 20(7):685–705, 1990.Walker II]* <nowikispan id="buchheim">[2]C. Buchheim</nowikispan> , M. Jünger, and S. Leipert. [http://dirk.jivas.de/papers/buchheim02improving.pdf Improving WalkerWalker’s algorithm to run in linear time]. In Michael T. Goodrich and Stephen G. Kobourov, editors, ''Graph Drawing (Proceedings of 10<sup>th</sup> International Symposium on Graph Drawing, 2002)'', volume 2528 of ''s Algorithm to Run Lecture Notes in Linear TimeComputer Science'', pages 344–353. Springer, 2002.* Roberto Tamassia, Editor. [https://cs.brown.edu/people/rtamassi/gdhandbook/chapters/trees. Christoph Buchheim etpdf Chapter5 : Tree Drawing Algorithms] in ''[https://cs.albrown.edu/people/rtamassi/gdhandbook/ Handbook of Graph Drawing and Visualization]''. CRC Press, 2013.
* [https://github.com/gramps-project/gramps/pull/548 Add Buchheim tree ancestor trees to Narrated Web Report #548]
* [http://gramps.1791082.n4.nabble.com/Where-should-I-put-design-notes-td4681555.html Where should I put design notes? ]