CLIM mail archive

[Prev][Next][Index][Thread]

Duplicate Nodes in Graphs




    Thanks to the people who responded to my question about formatting graphs
in CLIM version 1.0 (basically it was: get CLIM version 1.1 and use the
:merge-duplicates keyword).  But this still doesn't seem to work.  The call
I'm making looks like the following: 

(clim:format-graph-from-roots
   tree
   #'print-func
   #'(lambda( node ) (and (atom (first node)) (cdr node)))
   :merge-duplicates t
   :orientation ':vertical
)

where tree is a list of the form ((a (b c d (e ...] and print-func is
my function which uses clim:surrounding-output-with-border to display
the node names in rectangles.

    For some reason the merge-duplicates keyword is not doing the job
because I still have duplicate nodes.  What is interesting is if I set
the merge-duplicates keyword to NIL, I still get the duplicate nodes
but they are farther apart, almost as if when :merge-duplicates is
t it tries to merge them but can't quite make it.  For example:

 :merge-duplicates t                       :merge-duplicates nil

         A                                         A
      /     \                                   /     \
    B         C                               B         C
     \       /                                |         |
      D     D                                 D         D

Of course what I would like is:

         A
      /     \
    B         C 
      \     /
         D

Do you have any ideas why this might be happening?  Thanks.

  Richard Hull
  UCF AI Labs
  hull@cs.ucf.edu


Follow-Ups:

Main Index | Thread Index