1MPLNDM(3NCARG) NCAR GRAPHICS MPLNDM(3NCARG)
2
3
4
6 MPLNDM - Reads a specified EZMAP database and draws boundary lines from
7 it, masked by a specified area map.
8
10 CALL MPLNDM (FLNM,ILVL,IAMA,XCRA,YCRA,MCRA,IAAI,IAGI,NOGI,ULPR)
11
13 #include <ncarg/ncargC.h>
14
15 void c_mplndm (char *flnm, int ilvl, int *iama, float *xcra, float
16 *ycra, int mcra, int *iaai, int *iagi, int nogi, int (*ulpr_)(float
17 *xcra, float *ycra, int *ncra, int *iaai, int *iagi, int *ngps))
18
20 FLNM (an input expression of type CHARACTER) specifies the name
21 of the database to be used. MPLNDM will first look for the
22 files of the specified database in the current working
23 directory; if the files are not found there, MPLNDM will
24 look for them in the NCAR Graphics database directory. The
25 database created in 1998 and provided as part of Version
26 4.1 of NCAR Graphics is named "Earth..1".
27
28 ILVL (an input expression of type INTEGER) specifies the level
29 at which the database is to be used. The value 1 says to
30 use only land/water boundaries, the value 2 says to add
31 continental boundaries (like the boundary which separates
32 Africa from Eurasia), the value 3 says to add the
33 boundaries of countries, and the value 4 says to add
34 states. (The value 5 will eventually be used to add
35 counties.)
36
37 IAMA (an input/output array of type INTEGER, dimensioned as
38 specified in a call to the AREAS routine ARINAM) is the
39 array containing the area map against which boundary lines
40 are to be masked. The area map must have been initialized
41 by a call to ARINAM; it should contain the edges required
42 to create a desired effect. For example, an area map might
43 be created that defines a region of interest, within which
44 user data is available and within which boundary lines are
45 to be drawn.
46
47 XCRA and YCRA
48 (scratch arrays, dimensioned at least MCRA, of type REAL)
49 are to be used by MPLNDM in calls to the AREAS routine
50 ARDRLN; they will eventually be used in calls to the user-
51 provided line-processing routine ULPR.
52
53 MCRA (an input expression of type INTEGER) is the dimension of
54 the arrays XCRA and YCRA.
55
56 IAAI and IAGI
57 (scratch arrays, dimensioned at least NOGI, of type
58 INTEGER) are to be used by MPLNDM in calls to the AREAS
59 routine ARDRLN; they will eventually be used in calls to
60 the user-provided line-processing routine ULPR. The
61 mnemonics stand for "Integer Array of Area Identifiers" and
62 "Integer Array of Group Identifiers", respectively.
63
64 NOGI (an input expression of type INTEGER) is the dimension of
65 the arrays IAAI and IAGI. The mnemonic stands for "Number
66 Of Group Identifiers (of edges in the area map)", which
67 determines the required dimension of IAAI and IAGI.
68
69 ULPR is the name of the user-supplied line-processing routine.
70 It must be declared EXTERNAL in the routine that calls
71 MPLNDM, so that the compiler and loader will know that it
72 is the name of a routine to be called instead of a
73 variable. The user routine ULPR will be called once for
74 each piece of a boundary line resulting from the masking
75 process; it may decide to draw (or to not draw) each such
76 piece. ULPR will be called using a FORTRAN statement like
77
78 CALL ULPR (XCRA,YCRA,NCRA,IAAI,IAGI,NGPS)
79
80 where XCRA and YCRA are real arrays holding the normalized
81 device coordinates of NCRA points defining a polyline which
82 is part of some boundary line and IAAI and IAGI are integer
83 arrays holding NGPS area-identifier/group-identifier pairs
84 for the area within which that piece of the line lies. In
85 writing ULPR, the user may rely upon a SET call's having
86 been done which makes it possible to use normalized device
87 coordinates in calls to routines like CURVE, CURVED, GPL,
88 etc. For more details, see the reference document for the
89 package named AREAS and, in particular, the description of
90 the subroutine ARDRLN.
91
93 The C-binding argument description is the same as the FORTRAN argument
94 description.
95
97 MPLNDM is called to draw the lines defined by the map database whose
98 name is FLNM, masked against the area map in the array IAMA.
99
100 MPLNDM is much like MPLNDR, except that the boundary lines are drawn
101 using calls to MAPITM and MAPIQM, which does the masking of the lines
102 against an area map and passes the pieces resulting from the masking
103 process along to a user-provided line-drawing routine.
104
106 Use the ncargex command to see the following relevant example: mpex11.
107
109 To use MPLNDM or c_mplndm, load the NCAR Graphics libraries ncarg,
110 ncarg_gks, and ncarg_c, preferably in that order.
111
113 Online: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod,
114 mapfst, mapgci, mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint,
115 mapiq, mapiqa, mapiqd, mapiqm, mapit, mapita, mapitd, mapitm, maplbl,
116 maplmb, maplot, mappos, maproj, maprs, maprst, mapsav, mapset, mapstc,
117 mapsti, mapstl, mapstr, maptra, maptri, maptrn, mapusr, mapvec, mpchln,
118 mpfnme, mpgetc, mpgeti, mpgetl, mpgetr, mpglty, mpiaty, mpifnb, mpilnb,
119 mpiola, mpiosa, mpipai, mpipan, mpipar, mpisci, mplnam, mplndr, mplnri,
120 mpname, mprset, mpsetc, mpseti, mpsetl, mpsetr, supmap, supcon,
121 ncarg_cbind
122
124 Copyright (C) 1987-2009
125 University Corporation for Atmospheric Research
126 The use of this Software is governed by a License Agreement.
127
128
129
130UNIX April 1998 MPLNDM(3NCARG)