122
Comments
  • 2
    You’ve met with a terrible fate, haven’t you?
  • 8
    Wait.

    That's illegal
  • 3
    I don't think there would ever be an issue, no matter how crazy inbred the family is.

    Every kid is born of two parents, and every parent has zero or more kids. How those relate doesn't really matter -- although you might get duplication of parts of the tree (the same grandparent showing up on both sides of the tree).

    Also, I'm pretty sure this would occur for everyone pretty quickly. The Most Recent Common Ancestor for most countries/continents lived only a few hundred years ago....

    https://youtube.com/watch/...
  • 2
    @bittersweet
    Oedipus would incur in infinite recursion with this method and unincestuous families wouldn't.

    DrawChildren(Person * p)
    {
    for( child : p->children )
    {
    child->draw();

    for( spouse : child->spouses )
    DrawChildren(spouse);
    }
    }
  • 1
    @OneOfSimpleMind I agree, this would make for a funky tree, especially if your function has no exit condition, like tree rendering depth.

    Solution could be a lookup function, check people by a unique ID, drawing lines to people already on the canvas and breaking out of the loop there.
  • 3
  • 0
    No, Oedipus was his own mother's Lover, but that doesn't make him is own father.
  • 0
    Assuming that every child is born later than their parents there will never be a circular reference.
  • 0
    @Lor-inc DrawChildren(OedypusMom)
  • 0
    @OneOfSimpleMind Utilizing spouse data for drawing a family tree invalidates unlawful children, whereas adultery is quite common.
  • 0
    *Alabamaness intensifies*
Add Comment