Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
ADDPHSEG(3)		     MBK PHYSICAL FUNCTIONS		     ADDPHSEG(3)

NAME
     addphseg - create a physical segment

SYNOPSIS
     #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;

PARAMETERS
     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

DESCRIPTION
     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 maxi-
     mum.
     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).

RETURN VALUE
     addphseg returns a pointer to the newly created segment.

ERRORS
     "***  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 layers.
     "*** mbk error *** illegal addphseg : x1, y1, x2, y2"
	    The  segment coordinates are such that the segment is neither verti-
	    cal nor horizontal. So it's not a legal symbolic segment.

EXAMPLE
     #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);
     }

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

ASIM/LIP6			 October 1, 1997		     ADDPHSEG(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=addphseg&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help