1
/* $Id: x25c.c,v 1.2 2006/05/27 21:06:07 hbabcock Exp $
9
plfbox(PLFLT x0, PLFLT y0);
11
/*--------------------------------------------------------------------------*\
14
* Test program for filling polygons and proper clipping
15
\*--------------------------------------------------------------------------*/
18
main(int argc, char *argv[])
23
PLFLT xextreme[10][2];
24
PLFLT yextreme[10][2];
28
/* Parse and process command line arguments */
30
(void) plparseopts(&argc, argv, PL_PARSE_FULL);
32
/* Initialize plplot */
37
xextreme[0][0] = -120.0 ; xextreme[0][1] = 120.0 ; yextreme[0][0] = -120.0 ; yextreme[0][1] = 120.0 ;
38
xextreme[1][0] = -120.0 ; xextreme[1][1] = 120.0 ; yextreme[1][0] = 20.0 ; yextreme[1][1] = 120.0 ;
39
xextreme[2][0] = -120.0 ; xextreme[2][1] = 120.0 ; yextreme[2][0] = -20.0 ; yextreme[2][1] = 120.0 ;
40
xextreme[3][0] = -80.0 ; xextreme[3][1] = 80.0 ; yextreme[3][0] = -20.0 ; yextreme[3][1] = 120.0 ;
41
xextreme[4][0] = -220.0 ; xextreme[4][1] = -120.0 ; yextreme[4][0] = -120.0 ; yextreme[4][1] = 120.0 ;
42
xextreme[5][0] = -20.0 ; xextreme[5][1] = 20.0 ; yextreme[5][0] = -120.0 ; yextreme[5][1] = 120.0 ;
43
xextreme[6][0] = -20.0 ; xextreme[6][1] = 20.0 ; yextreme[6][0] = -20.0 ; yextreme[6][1] = 20.0 ;
44
xextreme[7][0] = -80.0 ; xextreme[7][1] = 80.0 ; yextreme[7][0] = -80.0 ; yextreme[7][1] = 80.0 ;
45
xextreme[8][0] = 20.0 ; xextreme[8][1] = 120.0 ; yextreme[8][0] = -120.0 ; yextreme[8][1] = 120.0 ;
47
for ( j = 0; j < 4; j ++ )
51
/* Polygon 1: a diamond */
52
x0[0] = 0 ; y0[0] = -100;
53
x0[1] = -100 ; y0[1] = 0;
54
x0[2] = 0 ; y0[2] = 100;
55
x0[3] = 100 ; y0[3] = 0;
60
/* Polygon 1: a diamond - reverse direction */
61
x0[3] = 0 ; y0[3] = -100;
62
x0[2] = -100 ; y0[2] = 0;
63
x0[1] = 0 ; y0[1] = 100;
64
x0[0] = 100 ; y0[0] = 0;
69
/* Polygon 2: a square with punctures */
70
x0[0] = -100 ; y0[0] = -100;
71
x0[1] = -100 ; y0[1] = -80;
72
x0[2] = 80 ; y0[2] = 0;
73
x0[3] = -100 ; y0[3] = 80;
74
x0[4] = -100 ; y0[4] = 100;
75
x0[5] = -80 ; y0[5] = 100;
76
x0[6] = 0 ; y0[6] = 80;
77
x0[7] = 80 ; y0[7] = 100;
78
x0[8] = 100 ; y0[8] = 100;
79
x0[9] = 100 ; y0[9] = -100;
84
/* Polygon 2: a square with punctures - reversed direction */
85
x0[9] = -100 ; y0[9] = -100;
86
x0[8] = -100 ; y0[8] = -80;
87
x0[7] = 80 ; y0[7] = 0;
88
x0[6] = -100 ; y0[6] = 80;
89
x0[5] = -100 ; y0[5] = 100;
90
x0[4] = -80 ; y0[4] = 100;
91
x0[3] = 0 ; y0[3] = 80;
92
x0[2] = 80 ; y0[2] = 100;
93
x0[1] = 100 ; y0[1] = 100;
94
x0[0] = 100 ; y0[0] = -100;
98
for ( i = 0; i < 9 ; i ++ )
102
plwind(xextreme[i][0], xextreme[i][1], yextreme[i][0], yextreme[i][1]);
104
plbox("bc", 1.0, 0, "bcnv", 10.0, 0);
114
/* Don't forget to call plend() to finish off! */