Graphviz Issue Tracker
Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002484graphvizDotpublic2014-08-31 19:442014-09-01 15:13
ReporterRon Savage 
Assigned Toerg 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Platformamd64OSDebianOS Version7.6
Summary0002484: How do I make 3 edges meet seamlessly at a point?
DescriptionOn the mailing list (with the same Subject/Summary - 2014-08-30) John Ellson and I have tried to craft a DOT file which seamlessly joins 2 edge heads and 1 edge tail at a single point with (a) no visible node (b) no gaps between the heads and the tail. We cannot achieve this.
Steps To ReproduceThe attached file x.gv contains 4 separate gv files showing the interaction between style = 'invis' present/absent and samehead = 1 present/absent.
Additional InformationTo my eye the 3rd of the 4 images generated from x.gv is the most pleasing, but for some reason there is still a visible node, despite using:
"one" [ fixedsize="1" height="0" label="" width="0" ]

Using fixedsize='shape' makes no difference.

In the 4th of the 4, using:
"one" [ fixedsize="1" height="0" label="" style="invis" width="0" ]
this node is invisible, but still takes up space, so the tail leaving it does not connect to the 2 incoming heads.
TagsNo tags attached.
AUXILLARY-FILES
DATE-FIXED
FIX-COMMENT
FORMER-ID
INPUT-FILE
OUTPUT-FILE
STATUS-COMMENT
VERSIONdot - graphviz version 2.38.0 (20140413.2041)
Attached Files? file icon x.gv (Attachment missing)

- Relationships

-  Notes
User avatar (0000804)
north (administrator)
2014-08-31 22:04

you would think that edge [headclip=false tailclip=false] would get the job done, but it doesn't.
User avatar (0000805)
erg (administrator)
2014-09-01 15:13

As suspected, the problem was due to some hacks we used when coordinates were integers. (This bug has been in the code since 2.28 when we started converting everything to floating point.)

Even so, to get a seamless join, one should use
   [shape=point width="0" ]
for the dummy node. The problem is that normal polygons have a minimum size, so even if one sets width and height to 0 and fixedsize=true, one still gets a non-zero size. I suspect this minimum size is no longer necessary, but it has been in the code since the beginning.

If one insists on using polygons, it will be necessary to use the headclip and tailclip attributes on the relevant edges, as Stephen suggests, so the edges meet at the center of the node.

- Issue History
Date Modified Username Field Change
2014-08-31 19:44 Ron Savage New Issue
2014-08-31 19:44 Ron Savage File Added: x.gv
2014-08-31 22:04 north Note Added: 0000804
2014-09-01 15:13 erg Note Added: 0000805
2014-09-01 15:13 erg Assigned To => erg
2014-09-01 15:13 erg Status new => resolved
2014-09-01 15:13 erg Resolution open => fixed


MantisBT 1.2.5[^]
Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker