Menu

#37 large class hierarchy does not render gif

v3.0
closed
5
2008-02-26
2006-09-11
Eric Huss
No

When using --graph=classtree on a large class hierarchy
(my particular example has a little over 500
subclasses), the resulting gif file is unreadable.

Either it should render properly, or perhaps it should
just not bother generating a full image if there is
more than a certain number of subclasses.

Discussion

  • Eric Huss

    Eric Huss - 2006-09-11

    Sample broken image.

     
  • Paul Pogonyshev

    Paul Pogonyshev - 2007-01-09

    Logged In: YES
    user_id=1203127
    Originator: NO

    Another option could be to add "cutoff points". Classes mentioned in "cutoff list" or derived from those mentioned in it will not be rendered. Current behavior of rendering complete inheritance tree is bad for large projects.

     
  • Paul Pogonyshev

    Paul Pogonyshev - 2007-01-09

    Logged In: YES
    user_id=1203127
    Originator: NO

    And currently private classes are rendered in such trees. Probably, they should not be rendered unless one of their private (with name starting with underscore) bases is explicitely mentioned in classtree list. This would alleviate large inheritance tree problem somewhat, but not solve it completely.

     
  • Edward Loper

    Edward Loper - 2007-09-25
    • labels: 469722 --> HTML Generation
    • milestone: 580339 --> v3.0
     
  • Edward Loper

    Edward Loper - 2007-09-25

    Logged In: YES
    user_id=195958
    Originator: NO

    svn revision 1644 now generates two versions of the class tree graphs -- one showing private subclasses, the other hiding them. When you have 'hide private' turned on, the graph hiding private subclasses will be used. This should help out when your tree has a large number of private subclasses (i.e., this helps address doublep's most recent comment). (Currently, this only applies to the automatically generated graphs, i.e., when you use '--graph=classtree' or '--graph=umlclasstree'; it does not apply to graphs generated from directives.

    For the less recent comment, it should now be possible to add an ':exclude:' option to the rst classtree directive, which will let you define cutoff points -- I'll look at doing that next.

    But there's no convenient place to define cutoff points for graphs that are generated automatically.

    As to the general idea of keeping the graphs small, I certainly support it, but it seems difficult in general to decide what should be truncated, esp since we don't have a convenient way to let the user request to see it if they want. In the ideal situation, the graph would contain an ellipsis marker '...', and clicking on that would show the whole graph (or more of the graph). Patches are welcome! :)

    I'm reclassifying this as a feature request.

     
  • Edward Loper

    Edward Loper - 2008-02-26
    • status: open --> closed
     
  • Edward Loper

    Edward Loper - 2008-02-26

    Logged In: YES
    user_id=195958
    Originator: NO

    Epydoc now truncates class tree graphs when they get too big.

     
  • Edward Loper

    Edward Loper - 2008-02-26

    Logged In: YES
    user_id=195958
    Originator: NO

    ("now" from the previous comment means the current subversion version)

     

Log in to post a comment.