Provided by: alliance_5.0-20120515-6_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

ASIM/LIP6                                        October 1, 1997                                 INSSEGMBKRDS(3)