#231 Line width wrongly calculated for node with transform shape

v1.0 (example)
closed-wont-fix
nobody
None
5
2013-07-16
2012-12-19
Miles
No

When we scale up node with transform shape option, then the line width is wrongly calculated. As a result, line comming to the node is not touching the node (see attached file for example)

Discussion

  • Miles
    Miles
    2012-12-19

    Example showing wrong behaviour

     
    Attachments
  • Till Tantau
    Till Tantau
    2013-07-16

    • status: open --> closed-wont-fix
    • Group: --> v1.0 (example)
     
  • Till Tantau
    Till Tantau
    2013-07-16

    Sorry, this won't fix (or, at least, I don't know how it should be done...).

    The trouble is the "outer sep", which is set to "half a line width" (scaled and transformed) by default; independently of whether a line is drawn at all or, in the present case, of whether the line width is actually less.

    Since, even for the simple case that a line is not drawn at all ("fill" is used rather than "draw"), the manual states that one has to change the outer sep "by hand" explicitly, this is even more true for this somewhat more complicated case (it is more complicated since instead of a simple scale people might be using things like xslant and, then, it gets mathematically complicated to compute the correct border points).

    Anyway, in the example you will have to add the option "outer sep=.1\pgflinewidth" to get the desired effect. Naturally, if you scale a lot, consider something like

    "my scale/.style={scale=#1,outer sep=.5\pgflinewidth/(#1)}"