Hello Gary,
On 14.03.06, Gary wrote:
> >I've looked at the example connect.py, and the docs. The way I
> >understand it, the bbox() method of a path will return a bbox. The
> >connector.arc method takes two bbox arguments. It looks like
> >connect.py works that way.
> >Then why does the following fail?
> >
> >from pyx import *
> >c = canvas.canvas()
> >l1 = path.line(0,0,3,2)
> >c.stroke(l1)
> >l2 = path.line(5,5,6,6)
> >c.stroke(l2)
> >b1 = l1.bbox()
> >b2 = l2.bbox()
> >c.stroke(b1.path())
> >c.stroke(b2.path())
> >c.stroke(connector.arc(b1,b2))
> >c.writeEPSfile("testconnect")
> >
> >In any event, it seems that either bbox() does not really return a
> >bbox, or connect.arc really does not take a bbox. Or both.
> >
> >What's going on?
> >
> >-gary
>
> It looks like text.text.(0,0, 'hello').center is a tuple attribute, but
> path.line(0,0,1,1).bbox().center is a method ... and connector chokes on it.
> Are there two types of box?
Yes. One is the bbox, which is a "bounding box", always a rectangle,
consisting of horizontal and vertical lines. The other is a box, that
is a container with a center and an outline path, which is at the
moment restricted to convex piecewise straight lines. boxes are a
major design element for the (near) future of PyX. They should align
automatically to each other, should be enlarged etc. At the moment
they do the alignment of axis-labels in graphs.
For connectors, it seemed natural to take the boxes as arguments.
> Is it possible to convert a path-style bbox
> into the kind of box that connector wants?
Sure. You initialise it with the coordinates from the bbox.
bb = (some bbox)
b = box.rect(bb.left(), bb.bottom(), bb.width(), bb.height())
and that's it
Michael.
P.S: Please be aware that the angle parameterisation of the connectors
changed from 0.8.1 to the current svn version. If you are using the
svn please consult the manual there.
--
"A mathematician is a device for turning coffee into theorems"
Paul Erdös.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
PyX-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyx-user