1 \chapter{Module
\module{connector
}}
4 This module provides classes for connecting two
\class{box
}-instances with
5 lines, arcs or curves. All constructors of the following connector-classes take
6 two
\class{box
}-instances as the two first arguments. They return a connecting
7 path from the first to the second box. The overall geometry of the path is such
8 that is starts/ends at the boxes' centers. It is then cut by the boxes'
9 outlines. The resulting
\class{connector
} will additionally be shortened by
10 lengths given in the
\keyword{boxdists
}-keyword (a list of two lengths, default
13 Angle keywords can be either absolute or relative. The absolute angles refer to
14 the angle between x-axis and the running tangent of the connector, while the
15 relative angles are between the direct connecting line of the box-centers and
16 the running tangent (see figure.~
\ref{fig:connector
}).
18 The bulge-keywords parameterize the deviation of the connector from the
19 connecting line. It has different meanings for different connectors (see
20 figure.~
\ref{fig:connector
}).
22 \section{Class
\class{line
}}
24 The constructor of the
\class{line
} class accepts only boxes and the
25 \keyword{boxdists
}-keyword.
27 \section{Class
\class{arc
}}
29 The constructor takes either the
\keyword{relangle
}-keyword or a
30 combination of
\keyword{relbulge
} and
\keyword{absbulge
}. The ``bulge'' is
31 meant to be a hint for the greatest distance between the connecting arc and the
32 straight connection between the box-centers. (Default:
\code{relangle=
45},
33 \code{relbulge=None
},
\code{absbulge=None
})
\smallskip
35 Note that the bulge-keywords override the angle-keyword.
37 If both
\keyword{relbulge
} and
\keyword{absbulge
} are given, they will be
40 \section{Class
\class{curve
}}
42 The constructor takes both angle- and bulge-keywords. Here, the bulges are
43 used as distances between the control points of the cubic Bezi\'er-curve.
44 For the signs of the angle- and bulge-keywords refer to figure~
\ref{fig:connector
}.
46 \keyword{absangle1
} or
\keyword{relangle1
}\\
47 \keyword{absangle2
} or
\keyword{relangle2
}, where the absolute angle overrides the
48 relative if both are given. (Default:
\code{relangle1=
45},
49 \code{relangle2=
45},
\code{absangle1=None
},
\code{absangle2=None
})
\medskip
51 \keyword{absbulge
} and
\keyword{relbulge
}, where they will be added if both are
52 given.\\ (Default:
\code{absbulge=None
},
\code{relbulge=
0.39}; these default
53 values produce output similar to the defaults of
\class{arc
}.)
\medskip
58 \includegraphics{connector
}
60 \caption{The angle-parameters of the connector.arc (left panel) and the
61 connector.curve (right panel) classes.
}
65 \section{Class
\class{twolines
}}
67 This class returns two connected straight lines. There is a vast variety of
68 combinations for angle- and length-keywords. The user has to make sure to
69 provide a non-ambiguous set of keywords:
\medskip
71 \keyword{absangle1
} or
\keyword{relangle1
} for the first angle,\\
72 \keyword{relangleM
} for the middle angle and\\
73 \keyword{absangle2
} or
\keyword{relangle2
} for the ending angle.
74 Again, the absolute angle overrides the relative if both are given. (Default:
75 all five angles are
\code{None
})
\medskip
77 \keyword{length1
} and
\keyword{length2
} for the lengths of the connecting lines.
78 (Default:
\code{None
})