Class joint is a
super-class for all line-like graphical classes that may
have arrows at either or both ends of the line. Currently it has the
following subclasses:
<-start in the
direction of a control-point to joint<-end
arriving from the direction of a contol-point.
Class joint defines
all methods that deal with attaching and deleting arrows at the start or
end of the line. Despite the name, the joint->arrows
related to a joint need not be instances of class arrow.
Instead, they may be instances of any subclass of class graphical,
provided the class inplements the joint->points
method compliant to arrow->points. This
allows the definition of new arrow like objects and
attaching them to the tips of line-like objects
See joint->arrows, joint->first_arrow
and joint->second_arrow.
See also class arrow.
->arrows.
Any graphical implementing joint->points
compliant to arrow->points can be used as
an arrow head. If the joint is changed, it's
graphical->compute
method will send joint->points to the arrow
object and recompute the bounding box of the joint. Similar, graphical->redraw
will draw invoke the graphical->redraw
method of the arrow(s).
<-arrows->initialise, arc->initialise
and
path->initialise.
<->arrows
method provides a simple interface to joint->first_arrow
and
joint->second_arrow.
If it attaches arrows the new arrow is created using joint<-default_arrow.new(arrow)), see arrow->initialise.
This method is called by joint->arrows.
Intended to be redefined for making lines with different arrow styles.