Open main menu

Gramps β

Changes

Narrated Website Ancestry Tree Design Notes

453 bytes added, 00:05, 1 December 2023
m
Undo revision 100702 by Bamaustin (talk)
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==
* <span id="walker"><sup>J. Q. Walker</sup>II</span> . [http://www.cs.unc.edu/techreports/89-034.pdf A Nodenode-Positioning Algorihm positioning algorithm for General Treesgeneral trees]]. ''Softw. – Pract. Exp. John Q'', 20(7):685–705, 1990.Walker II]* <span id="buchheim"><sup>C. Buchheim</sup></span> , 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. Christoph Buchheim et* Roberto Tamassia, Editor. [https://cs.brown.edu/people/rtamassi/gdhandbook/chapters/trees.pdf 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? ]
5,419
edits