Table of Contents

Name

librwi - rwi library description

Description

I) DATA STRUCTURES USED
A)
The rdswinrec_list structure

The rdswinrec_list structure is used to create list of rectangles's tables. Each table contains a maximum of RWI_MAX_REC pointers to rdsrec_list structure.

typedef struct rdswinrec_list {
struct rdswinrec_list *NEXT;

rdsrec_list
*RECTAB[ RWI_MAX_REC ]; } rdswinrec_list;

Description of the structure's fields :

NEXT
Pointer to the next table of tables's list.

RECTAB Table of rectangles.

B)
The rdswin_list structure

The rdswin_list permits to create a window which contains the rectangles. This structure is used to make the windowing of the rds structure. Windowing permits fastly acces to rectangles of the data base.

typedef struct rdswin_list
{
struct rdswinrec_list *LAYERTAB[ RWI_MAX_LAYER ]; } rdswin_list;

Description of the structure's fields :

LAYERTAB
It's a table of pointers on rectangles's tables. Each entry of the table corresponds to a determinated RDS layer. The size of the table is defined by the constant RWI_MAX_LAYER which is the number of possible layers.
C)
The rdsrecwin_list structure

The rdsrecwin_list structure permits for a rectangle to know the windows which it belongs. In the rdsrec_list structure, there is no field destinated to point to this structure. Some functions of the Rwi library use the field `USER' but it may be also used by functions of the Rfm library. So, the user has to save the `USER' field by creating an additionnal structure to the rdsrec_list structure to put the new pointer (during this operation, the field `USER' must be saved in a temporary variable).

typedef struct rdsrecwin_list {
struct rdsrecwin_list *NEXT;

struct rdswin_list
*WINDOW; } rdsrecwin_list;

Description of the structure's fields :

NEXT Pointer to the next item whitch belongs to the list of rdsrecwin_list structure.

WINDOW Pointer to the window at which belongs the rectangle.

D)
The rdswindow structure

The rdswindow structure permits to set a windowing to the rds data structure.

typedef struct rdswindow
{

long
XMIN;
long
YMIN;
long
XMAX;
long
YMAX;
long
MASK;
long
DX;
long
DY;
long
SIDE;
long
SIZE; rdswin_list *WINTAB; } rdswindow;

Description of the structure's fields :

XMIN
Position in lambda of the lower left corner of the windowing table to the X axis.
YMIN
Position in lambda of the lower left corner of the windowing table to the Y axis.

XMAX Position in lambda of the upper right corner of the windowing table to the X axis.

YMAX Position in lambda of the upper right corner of the windowing table to the Y axis.

MASK
Number of rectangles in the windowing.
DX
Width of the table in number of windows.
DY
Height of the table in number of windows.

SIDE size of the side of a window (which is a square) in lambda.

SIZE
Number of windows contained in the table.

WINTAB Pointer to the table of windows.

II)
Description of constants of the library
RWI_MAX_REC
Maximum number of rectangles contained in a table used in the rdswinrec_list structure.
RWI_MAX_LAYER
Number of possible layers.
RDS_ONE_WINDOW
This constant is used to determinate if a rectangle belongs to one or many windows.
III)
Description of the macros
- char IsRdsOneWindow( Rectangle )
rdsrec_list *Rectangle;

Tests if the rectangle belongs to a window : If true, then value 1 is returned else value 0 is returned (the rectangle belongs to many windows).

- void SetRdsOneWindow( Rectangle )
rdsrec_list *Rectangle;

Sets the field `FLAGS' of the rectangle to mean that the rectangle belongs to one window.

- void ClearRdsOneWindow( Rectangle )
rdsrec_list *Rectangle;

Sets the field `FLAGS' of the rectangle to mean that the rectangle belongs to many windows.

IV)
Function of the libRwi library

allocrdswinrec
allocates a structure used to create a list of tables of rectangles.

allocrdsrecwin
allocates a structure used to know windows which contain a rectangle.

allocrdswin
allocates table of windows

allocrdswindow
allocates a window structure

addrdsrecwindow
adds a rectangle in the windowing of rds structure.

delrdsrecwindow
deletes a rectangle from the windowing of rds structure.

buildrdswindow
builds windowing of a figure

destroyrdswindow
destroys windowing of a figure

viewrdswindow
Displays caracteristics of all the windowing

See Also

librds, librfm, librpr, librut, librtl

Bug Report

This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi research team.
We need your feedbak to improve documentation and tools. If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.