addphins

ADDPHINS(3)                 MBK PHYSICAL FUNCTIONS                 ADDPHINS(3)



NAME
       addphins - create a physical instance


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

       Web : http://asim.lip6.fr/recherche/alliance/
       E-mail : alliance-users@asim.lip6.fr


SYNOPSYS
       #include "mph.h"
       phins_list ∗addphins(ptfig, figname, insname, sym, x, y)
       phfig_list ∗ptfig;
       char ∗figname;
       char ∗insname;
       char sym;
       long x, y;

PARAMETERS
       ptfig               Pointer to the figure in which the instance should
                           be added

       figname             Instance model name

       insname             Instance name

       sym                 Geometrical operation performed on the instance

       x, y                Coordinates of the lower left corner of the
                           instance

DESCRIPTION
       addphins creates a new instance whose lower left corner is at the given
       coordinates, and adds it to the list of instances pointed to by
       ptfig->PHINS. The new instance is added in front of the list, and
       becomes itself the list head.
       The parameters figname, insname, sym, x and y fill respectivly the
       FIGNAME, INSNAME, TRANSF, XINS and YINS fields of the phins structure.
       The addphins function does not check in memory or on disk to see if the
       instanciated model exists, since no informations on it are needed.
       The coordinates are not transformation dependant. It means that the
       transformation is performed before placing the instance at the given
       point.  For details on the structure, see phins(3).

RETURN VALUE
       addphins returns a pointer to the newly created instance.

ERRORS
       "∗∗∗ mbk error ∗∗∗ addphins figure figname cannot be part of itself"
              The instance has for model name of the figure on the which it is
              to be added.  It's illegal and dangerous. This check is made at
              the actual hierachy level only, not recursivly on the structure,
              so it still may happend.

       "∗∗∗ mbk error ∗∗∗ illegal addphins transformation sym in : insname"
              The geometrical operation is not in the legal range. See
              phins(3) for a complete list of values.

       "∗∗∗ mbk error ∗∗∗ illegal addphins duplicate instance name : insname"
              The instance name is an identifier, so it can't appear twice in
              the same figure.

EXAMPLE
       #include "mph.h"
       phins_list ∗ins_dup(pfd, pfs) /∗ duplicate instances ∗/
       phfig_list ∗pfd, ∗pfs;
       {
       phins_list ∗pi;
          for (pi = pfs->phins; pi != NULL; pi = pi->NEXT)
             addphins(pfd, pi->FIGNAME, pi->INSNAME, pi->TRANSF,
                                pi->XINS, pi->YINS);
          return pfd->PHINS;
       }

SEE ALSO
       mbk(1), phfig(3), phins(3), getphins(3), delphins(3).




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






ASIM/LIP6                       October 1, 1997                    ADDPHINS(3)