ADDPHSEG(3)                 MBK PHYSICAL FUNCTIONS                 ADDPHSEG(3)

       addphseg - create a physical segment

       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,

       Web :
       E-mail :

       #include "mph.h"
       phseg_list ∗addphseg(ptfig, layer, width, x1, y1, x2, y2, nodename)
       phfig_list ∗ptfig;
       char layer;
       long width;
       long x1, y1, x2, y2;
       char ∗nodename;

       ptfig               Pointer to the figure in which the segment should
                           be added

       layer               Segment symbolic layer

       width               Segment symbolic width

       x1, y1, x2, y2      Segment endpoints coordinates

       nodename            Name of the segment

       addphseg creates a new segment at the given coordinates, possibly
       called segname, and adds it to the list of segments pointed to by
       ptfig->PHSEG. The new segment is added in front of the list, and
       becomes itself the list head. The segment name is an optional
       information, and does not allow the segment identification. When not
       needed, this parameter should be set to NULL.
       The parameters nodename, layer and width fill respectivly the NAME,
       LAYER and WIDTH fields of the phseg structure.
       x1, y1, x2, y2 are sorted to warranty that the fields X1 and Y1 contain
       the minimum of, respectivly, x1, x2 and y1, y2, and the X2, Y2 fields
       the maximum.
       The TYPE field is computed by the addphseg function.  It will be either
       VER if x1 equals x2, or HOR if y1 equals y2.
       The width is a layer extension that takes place in perpendicular to the
       segment TYPE.
       For a list of valid layers, and details on the structure, see phseg(3).

       addphseg returns a pointer to the newly created segment.

       "∗∗∗ mbk error ∗∗∗ illegal addphseg wrong layer code layer in x1, y1,
       x2, y2"
              The layer parameter is out of range, and does not represent a
              legal symbolic layer. See phseg(3) for a complete list of
       "∗∗∗ mbk error ∗∗∗ illegal addphseg : x1, y1, x2, y2"
              The segment coordinates are such that the segment is neither
              vertical nor horizontal. So it's not a legal symbolic segment.

       #include "mph.h"
       phseg_list ∗du_seg(pfd, pfs)
       phfig_list ∗pfd, ∗pfs;
       phseg_list ∗ps;
          /∗ names don't matter ∗/
          for (ps = pfs->PHSEG; ps != NULL; ps = ps->NEXT)
             addphseg(pfd, ps->LAYER, ps->WIDTH, ps->X1, ps->Y1,
                   ps->X2, ps->Y2, NULL);

       mbk(1), phfig(3), phseg(3), delphseg(3).

       This tool is under development at the ASIM department of the LIP6
       We need your feedback to improve documentation and tools.

ASIM/LIP6                       October 1, 1997                    ADDPHSEG(3)