This directory contains the link drawing part of the Link editor
for Jeff Weeks.  This is simply a 2D curve drawing package, with facilities
for over-under specifications at crossing.  The interface will
be combined with this program in a LinkEdit directory.  

   This program needs to define the basic data structures, and have the
required editing and state mode public functions.  These are

   MovePoint
   DeletePoint
   AddPoint - before, after, in-between

   Translate Link
   Scale Link
   Rotate Link

   Flip Crossing

   Shift View
   Zoom View
   Center View

   Show Crossings ?
   Detect Crossings ?

   Save link, scene
   Get New Link- empty, primitive, from file
   Delete link, all

   I should leave hooks for coloring different links differently.

10/26/90

    Data structures:

A point has x,y,z coords, and pointers to next and previous points.
We also consider a point as the start of an edge, and the 
structure "crossing" is a linked list of crossings of that edge.
In that list the "partner" structure points to the edge which is 
crossed (i.e. the start point of that edge)

z values are all + or - 1.  Vertices are always -1.  Crossingpoints
are either + or -1.

A link is a list of points, together with the flag of closed or not.
The edges are implicit in the ordering, and the crossings for
a given edge are contained in the linked list of pnt->crossing
where pnt is the starting point of the edge.  The starting point of
the crossed edges are contained in the crossing->partner field.

11/12/90

     The size in mm of the gap shown at a crossing is determined by
LINK_GAP in *types.h.  

Design issues:
     1) The interface ala BoxTool
     2) How to recompute crossings when an edge is moved-
         for each link
           for each edge in link
             if currently there is a crossing
                recompute crossing
                  if no crossing delete old one
                  else replace old one with new, preserving z value of old
             else
                compute crossings
           end
         end

2/12/91

    I`m going to change the method of highlighting in cases where
gray-scale isn't available:  in that case simply make the vertices double
size for the currently selected strand.

