buildrdswindow.3alc man page

buildrdswindow — builds windowing of a figure

Synopsis

#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

Info

October 1, 1997 ASIM/LIP6 RDS PHYSICAL FUNCTIONS