buildrdswindow

BUILDRDSWINDOW(3)           RDS PHYSICAL FUNCTIONS           BUILDRDSWINDOW(3)



NAME
       buildrdswindow - builds windowing of a figure


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 "rwinnn.h"
        rdswindow ∗buildrdswindow( Figure )
           rdsfig_list ∗Figure;

PARAMETER
       Figure              The figure where has to be built the windowing.

DESCRIPTION
       The buildrdswindow function permits to build windowing on the figure
       named ´Figure´.

RETURN VALUE
       The pointer to the windowing structure "rdswindow".

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 "rwinnn.h"
               #include "rtlnnn.h"
               main()
                 {
                   phfig_list     ∗MbkFigure;
                   rdsfig_list    ∗RdsFigure;
                   rdswindow      ∗Window;
                   long            X,Y,Offset;
                   rdswin_list    ∗Win;
                   rdswinrec_list ∗WinRec;
                   rdsrec_list    ∗ScanRec;
                   char            Layer;
                   char            Index;
                   mbkenv();
                   rdsenv();
                   loadrdsparam();
                   MbkFigure = getphfig("na2_y",'A');
                   RdsFigure = figmbkrds(MbkFigure,0,0);
                   Window    =  buildrdswindow ( RdsFigure );
                   /∗ gets each window of the table ∗/
                   for ( X = 0 ; X < Window->DX ; X ++ )
                    for ( Y = 0 ; Y < Window->DY ; Y ++ )
                     {
                       printf("WINDOW (%ld,%ld)\n",X,Y);
                       Offset = Y ∗ Window->DX + X;
                       Win = Window->WINTAB + Offset;
                       /∗ gets all rectangles of a window ∗/
                       for ( Layer = 0 ; Layer < RWI_MAX_LAYER ; Layer ++ )
                        {
                          printf("LAYER = %s\n",RDS_LAYER_NAME[Layer]);
                          for ( WinRec  = Win->LAYERTAB[ Layer ];
                                WinRec != (rdswinrec_list ∗)NULL;
                                WinRec  = WinRec->NEXT )
                           {
                             for (
                                   Index = 0;
                                   Index < RWI_MAX_REC;
                                   Index++
                                 )
                              {
                               ScanRec = WinRec->RECTAB[ Index ];
                               /∗ prints dimensions of each rectangle ∗/
                               if ( ScanRec != NULL )
                               printf("X=%ld, Y=%ld, DX=%ld, DY=%ld\n",
                                      ScanRec->X,ScanRec->Y,ScanRec->DX,
                                      ScanRec->DY);
                               else break;
                              }
                           }
                        }
                     }
                   . . .
                 }

SEE ALSO
       librwi, allocrdswindow, destroyrdswindow, viewrdswindow




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              BUILDRDSWINDOW(3)