test trafo application in draw
[PyX/mjg.git] / manual / connector.tex
blob38501384873db16f8b272d5fd946bcdfbea40641
1 \chapter{Module connector}
2 \label{connector}
4 This module provides classes for connecting two \verb|box|-instances with
5 lines, arcs or curves.
6 All constructors of the following connector-classes take two
7 \verb|box|-instances as first arguments. They return a
8 \verb|normpath|-instance from the first to the second box, starting/ending at
9 the boxes' outline \verb|path|. The behaviour of the path is determined by the
10 boxes' center and some angle- and distance-keywords. The resulting path will
11 additionally be shortened by lengths given in the \verb|boxdists|-keyword (a
12 list of two lengths, default \verb|[0,0]|).
14 \section{Class line}
16 The constructor of the \verb|line| class accepts only boxes and the
17 \verb|boxdists|-keyword.
19 \section{Class arc}
21 The constructor also takes either the \verb|relangle|-keyword or a combination
22 of \verb|relbulge| and \verb|absbulge|. The ``bulge'' is the greatest distance
23 between the connecting arc and the straight connecting line.
24 (Default: \verb|relangle=45|, \verb|relbulge=None|,
25 \verb|absbulge=None|)\medskip
27 Note that the bulge-keywords override the angle-keyword. When both
28 \verb|relbulge| and \verb|absbulge| are given they will be added.
30 \section{Class curve}
32 The constructor takes both angle- and bulge-keywords. Here, the bulges are
33 used as distances between bezier-curve control points:\medskip
35 \verb|absangle1| or \verb|relangle1|\\
36 \verb|absangle2| or \verb|relangle2|, where the absolute angle overrides the
37 relative if both are given. (Default: \verb|relangle1=45|,
38 \verb|relangle2=45|, \verb|absangle1=None|, \verb|absangle2=None|)\medskip
40 \verb|absbulge| and \verb|relbulge|, where they will be added if both are
41 given.\\ (Default: \verb|absbulge|=None, \verb|relbulge|=0.39; these default
42 values produce output similar to the defaults of the arc-class.)\medskip
45 Note that relative angle-keywords are counted in the following way:
46 \verb|relangle1| is counted in negative direction, starting at the straight
47 connector line, and \verb|relangle2| is counted in positive direction.
48 Therefore, the outcome with two positive relative angles will always leave the
49 straight connector at its left and will not cross it.
51 \section{Class twolines}
53 This class returns two connected straight lines. There is a vast variety of
54 combinations for angle- and length-keywords. The user has to make sure to
55 provide a non-ambiguous set of keywords:\medskip
57 \verb|absangle1| or \verb|relangle1| for the first angle,\\
58 \verb|relangleM| for the middle angle and\\
59 \verb|absangle2| or \verb|relangle2| for the ending angle.
60 Again, the absolute angle overrides the relative if both are given. (Default:
61 all five angles are \verb|None|)\medskip
63 \verb|length1| and \verb|length2| for the lengths of the connecting lines.
64 (Default: \verb|None|)