Open main menu

Gramps β

Changes

Narrated Website Ancestry Tree Design Notes

1,109 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 [[Categoryhttps:Narrated Website Ancestry Tree Design Notes]//github.com/gramps-project/gramps/tree/master/gramps/plugins/webreport Gramps/gramps/plugins/webreport]in a Gramps source code tree.
The source code that generates the Ancestry Tree portion of the Narrated Website can be found below 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 ]] and then improved by [[#buchheim|Buchheim ]] et.al.
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.
The algorithm might also be useful for other parts of Gramps such as the Graphical Reports Ancestor or Descendents Tree.
==References:==* <span id="walker">J. Q. Walker II</span>. [http://www.cs.unc.edu/techreports/89-034.pdf link A Nodenode-Positioning Algorihm positioning algorithm for General Treesgeneral trees]]. John Q''Softw. – Pract. Exp.'', 20(7):685–705, 1990.Walker II]* <span id="buchheim">C. Buchheim</span>, M. Jünger, and S. Leipert. [http://dirk.jivas.de/papers/buchheim02improving.pdf link 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 ''Lecture Notes in Computer Science''s Algorithm to Run , pages 344–353. Springer, 2002.* Roberto Tamassia, Editor. [https://cs.brown.edu/people/rtamassi/gdhandbook/chapters/trees.pdf Chapter5 : Tree Drawing Algorithms] in Linear Time''[https://cs.brown.edu/people/rtamassi/gdhandbook/ Handbook of Graph Drawing and Visualization]''. Christoph CRC Press, 2013.* [https://github.com/gramps-project/gramps/pull/548 Add Buchheim ettree ancestor trees to Narrated Web Report #548]* [http://gramps.al1791082.n4.nabble.com/Where-should-I-put-design-notes-td4681555.html Where should I put design notes? ] ==See also==* [[Gramps_{{man version}}_Wiki_Manual_-_Reports_-_part_7#Html_options]] - [x] Include ancestor's tree [[Category:Developers/Reference]][[Category:Proposed_Report_Specifications]][[Category:GEPS]]
5,419
edits