1SFNORM(3NCARG) NCAR GRAPHICS SFNORM(3NCARG)
2
3
4
6 SFNORM - The subroutines SFWRLD and SFNORM are used to fill that
7 portion of the plotter frame inside the area defined by a given
8 polygonal boundary.
9
11 CALL SFNORM (XRA,YRA,NRA,DST,NST,IND,NND)
12 CALL SFWRLD (XRA,YRA,NRA,DST,NST,IND,NND)
13
15 #include <ncarg/ncargC.h>
16
17 void c_sfnorm (float *xra, float *yra, int nra,
18 float *dst, int nst, int *ind, int nnd)
19
20 void c_sfwrld (float *xra, float *yra, int nra,
21 float *dst, int nst, int *ind, int nnd)
22
24 XRA (an input/output array of type REAL, dimensioned NRA)
25 contains the X coordinates of the points defining the area
26 to be filled, in the user coordinate system (if SFWRLD is
27 called) or in the fractional coordinate system (if SFNORM
28 is called). Upon return from SFWRLD, the contents of XRA
29 will have been converted to the fractional coordinate
30 system.
31
32 YRA (an input/output array of type REAL, dimensioned NRA)
33 contains the Y coordinates of the points defining the area
34 to be filled, in the user coordinate system (if SFWRLD is
35 called) or in the fractional coordinate system (if SFNORM
36 is called). Upon return from SFWRLD, the contents of YRA
37 will have been converted to the fractional coordinate
38 system.
39
40 NRA (an input expression of type INTEGER) is the number of
41 points defining the area to be filled. NRA must be greater
42 than two.
43
44 DST(NST) (a scratch array of type REAL, dimensioned NST or greater)
45 is for use by the fill algorithm.
46
47 NST (an input expression of type INTEGER) is the length of the
48 array DST. It must be greater than or equal to NRA + NIM,
49 where NIM is the largest number of intersection points of
50 any fill line with the boundary lines. To be sure DST is
51 large enough, use NIM = NRA; in practice, NIM rarely needs
52 to be that large. For a convex polygon, for example, NIM =
53 2 suffices.
54
55 IND (a scratch array of type INTEGER, dimensioned NND or
56 greater) is for use by the fill algorithm.
57
58 NND (an input expression of type INTEGER) is the length of the
59 array IND. It must be greater than or equal to NRA + 2 *
60 NIM, where NIM is as defined above.
61
63 The C-binding argument descriptions are the same as the FORTRAN
64 argument descriptions.
65
67 Both SFWRLD and SFNORM fill the area defined by the points
68 (XRA(I),YRA(I)), for I from 1 to NRA. The lines connecting point 1 to
69 point 2, point 2 to point 3, ..., point NRA-1 to point NRA, and point
70 NRA to point 1 bound the area to be filled. The default values of
71 SOFTFILL's internal parameters cause fill to be done with solid,
72 horizontal lines .00125 normalized-device-coordinate units apart.
73
74 Use SFWRLD if the arrays XRA and YRA contain world coordinates. Use
75 SFNORM if XRA and YRA contain normalized device coordinates. Since
76 SFWRLD transforms XRA and YRA from world coordinates to normalized
77 device coordinates, any subsequent calls with those arrays should be to
78 SFNORM (for example, to create a cross-hatched effect).
79
81 Use the ncargex command to see the following relevant examples:
82 ccpscam, cpex01, cpex02, cpex03, sfex01, tsoftf.
83
85 To use SFWRLD, SFNORM, c_sfwrld, or c_sfnorm, load the NCAR Graphics
86 libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.
87
89 See the softfill man page for a description of all Softfill error
90 messages and/or informational messages.
91
93 Online: softfill, softfill_params, sfgetc, sfgeti, sfgetp, sfgetr,
94 sfsetc, sfseti, sfsetp, sfsetr, sfsgfa, ncarg_cbind
95
96 Hardcopy: NCAR Graphics Fundamentals, UNIX Version
97
99 Copyright (C) 1987-2009
100 University Corporation for Atmospheric Research
101 The use of this Software is governed by a License Agreement.
102
103
104
105UNIX March 1993 SFNORM(3NCARG)