Module connector¶

This module provides classes for connecting two box-instances with lines, arcs or curves. All constructors of the following connector-classes take two box-instances as the two first arguments. They return a connecting path from the first to the second box. The overall geometry of the path is such that is starts/ends at the boxes’ centers. It is then cut by the boxes’ outlines. The resulting connector will additionally be shortened by lengths given in the boxdists (a list of two lengths, default [0,0]).

Angle keywords can be either absolute or relative. The absolute angles refer to the angle between x-axis and the running tangent of the connector, while the relative angles are between the direct connecting line of the box-centers and the running tangent (see figure. The angle-parameters of the connector.arc (left panel) and the connector.curve (right panel) classes.).

The bulge-keywords parameterize the deviation of the connector from the connecting line. It has different meanings for different connectors (see figure. The angle-parameters of the connector.arc (left panel) and the connector.curve (right panel) classes.).

Class line¶

The constructor of the line class accepts only boxes and the boxdists.

Class arc¶

The constructor takes either the relangle or a combination of relbulge and absbulge. The “bulge” is meant to be a hint for the greatest distance between the connecting arc and the straight connection between the box-centers. (Default: relangle=45, relbulge=None, absbulge=None)

Note that the bulge-keywords override the angle-keyword.

If both relbulge and absbulge are given, they will be added.

Class curve¶

The constructor takes both angle- and bulge-keywords. Here, the bulges are used as distances between the control points of the cubic Beziér-curve. For the signs of the angle- and bulge-keywords refer to figure The angle-parameters of the connector.arc (left panel) and the connector.curve (right panel) classes..

absangle1 or relangle1absangle2 or relangle2, where the absolute angle overrides the relative if both are given. (Default: relangle1=45, relangle2=45, absangle1=None, absangle2=None)

absbulge and relbulge, where they will be added if both are given. — (Default: absbulge=None, relbulge=0.39; these default values produce output similar to the defaults of arc.)

The angle-parameters of the connector.arc (left panel) and the connector.curve (right panel) classes.

Class twolines¶

This class returns two connected straight lines. There is a vast variety of combinations for angle- and length-keywords. The user has to make sure to provide a non-ambiguous set of keywords:

absangle1 or relangle1 for the first angle, — relangleM for the middle angle and — absangle2 or relangle2 for the ending angle. Again, the absolute angle overrides the relative if both are given. (Default: all five angles are None)

length1 and length2 for the lengths of the connecting lines. (Default: None)