## Re: [Gramps-devel] New Quilt view

 Re: [Gramps-devel] New Quilt view From: Doug Blank - 2012-08-23 15:21:46 ```On Thu, Aug 23, 2012 at 11:02 AM, Benny Malengier wrote: > > > 2012/8/23 Nick Hall >> >> On 23/08/12 12:24, W. Trevor King wrote: >>> >>> It sounds like you left out the todo list phase, where those >>> parentless individuals are dealt with: >> >> Yes. How should I process the todo list? There seems to be a step >> missing. >> >> At some point we need to adjust the generations in the branches that are >> too high up in the tree. > > > My idea was that the todo list people must be assigned an generation based > on: > > a. step one: determine estimated birth of everyone in the todo list. We have > a function for that > > b. step two: determine first generation. Those are the oldest in the todo > list. These people will not be moved to another generation anymore > > Assign every person a moveto list, which is [current_gen] initially, and for > the root people None (to indicate they should not move) > > c. step tree, determine what the correct generation is for non root people > in the todo list > > 1. do they have a spouse/husband of generation j, then they should be > generation j > 2. do they have a sibling of generation j, then they should be generation j > 3. if not assigned yet, if they have a calculated birth day, look for the > generation in the decendants of the root people that fits this birth day > best. > 4. when assigning a person in todo list a generation, all their descendants > must be moved to. > Say a person goes to generatino 4. Then every descendant of this person > should have minimum of current assigned generation + 4. So moveto list is > appended with this new generation. > The move should not happen yet however. Instead, all people in the todo list > must be handled first. > After that, the move can happen to the highest generation in the moveto > list, so to max(moveto). > > I think that closes all holes. Problem will remain with disconnected sets of > people, where the root decendants also don't overlap, eg root person of 1600 > with decendants to 1750, and another set of people starting in 1820. With > some luck, those will nevertheless with above approach start after the last > generation of the descendants of 1600 It sounds like the Layering algorithm (that Benny outlines above) will be the easy part. The next and harder part is getting the ordering inside the layer to be nice. In fact, this must be hard because (reading the paper) it sounds like the geneaquilt project farms that out to dot. Dot will do the ordering, and then geneaquilt reads that back in for their (X,Y) position. That is an option, but it sounds like it will be worth a try ourselves :) But it may be that it is an expensive operation. Suggest that we may want to cache that in any event. On a different issue, I wonder if putting the names after the matrix squares would make the report head off to the right less quickly? In the geneaquilt version, the matrix for the downward links to families doesn't start until after the names. -Doug > Benny > >> >> Nick. >> > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Gramps-devel mailing list > Gramps-devel@... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > ```