Provided by: alliance_5.0-20110203-4_amd64 bug

NAME

       inssegmbkrds - adds in RDS instance all the segments of MBK instance

SYNOPSYS

       #include "rdsnnn.h"
        rdsrec_list ∗inssegmbkrds( InstanceMbk, ModelMbk, InstanceRds, Lynx )
           phins_list  ∗InstanceMbk;
           phfig_list  ∗ModelMbk;
           rdsins_list ∗InstanceRds;
           char         Lynx;

PARAMETER

       InstanceMbk         The MBK instance which contains the segments to convert.

       ModelMbk            Pointer to the model of the MBK instance.

       InstanceRds         The  instance  which has to receive converted segments from MBK to RDS
                           format.

       Lynx                Flag used for the segment conversion. If the parameter Lynx is set  to
                           0  then  thi s is the normal conversion mode. If the parameter Lynx is
                           set  to  1  then  the  rds  structure  generated  permits  to  extract
                           equipotentials rectangles.

DESCRIPTION

       The  inssegmbkrds  function  adds  in  the  RDS  instance all segments of the MBK instance
       converted to RDS format. All newly created segments  are  chained  each  other  (circulary
       list) using the USER field of the rdsrec_list structure.

RETURN VALUE

       Pointer to the head of list of the added rectangles to the RDS instance.

ERRORS

       "Rds202: rdsalloc error, can't continue !"
              it's impossible to allocate the memory size desired

EXAMPLE

               #include "mphnnn.h"
               #include "mutnnn.h"
               #include "rdsnnn.h"
               #include "rfmnnn.h"
               #include "rtlnnn.h"
               typedef struct UserStruct
                {
                  char ∗STRING;
                  void ∗USER1;
                } UserStruct;
               main()
                 {
                   phfig_list  ∗MbkFigure;
                   phins_list  ∗MbkInstance;
                   phfig_list  ∗MbkModelInstance;
                   rdsfig_list ∗RdsFigure;
                   rdsins_list ∗RdsInstance;
                   rdsrec_list ∗RdsSegmentList;
                   rdsrec_list ∗ScanSegment;
                   mbkenv();
                   rdsenv();
                   loadrdsparam();
                   /∗ creates MbkFigure Named "core" ∗/
                   MbkFigure        = addphfig("core");
                   /∗ creates RdsFigure named "core_2" ∗/
                   RdsFigure        = addrdsfig("core_2",sizeof(UserStruct));
                   /∗ adds Mbk instance "n1_y" to MbkFigure named "core" ∗/
                   MbkInstance      = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
                   /∗ Gets Model of instance n1_y ∗/
                   MbkModelInstance = getphfig("n1_y",'A');
                   /∗ creates Rds instance named "block_1" added to RdsFigure ∗/
                   RdsInstance =
                      addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
                   /∗
                         adds segments of "inv_1" instance Mbk in Rds instance
                         named "block_1"
                   ∗/
                   RdsSegmentList   = inssegmbkrds ( MbkInstance,
                                                     MbkModelInstance,
                                                     RdsInstance,0 );
                   viewrdsrec ( RdsSegmentList );
                   for ( ScanSegment  = RdsSegmentList->USER ;
                         ScanSegment != RdsSegmentList ;
                         ScanSegment  = ScanSegment->USER )
                    {
                      viewrdsrec ( (rdsrec_list ∗) ScanSegment );
                    }
                 }

SEE ALSO

       librfm, librds, loadrdsparam