Provided by: libncarg-dev_6.3.0-6build1_amd64 bug


       MPLNDM - Reads a specified EZMAP database and draws boundary lines from it, masked by a
       specified area map.




       #include <ncarg/ncargC.h>

       void c_mplndm (char *flnm, int ilvl, int *iama, float *xcra, float *ycra, int mcra, int
       *iaai, int *iagi, int nogi, int (*ulpr_)(float *xcra, float *ycra, int *ncra, int *iaai,
       int *iagi, int *ngps))


       FLNM        (an input expression of type CHARACTER) specifies the name of the database to
                   be used.  MPLNDM will first look for the files of the specified database in
                   the current working directory; if the files are not found there, MPLNDM will
                   look for them in the NCAR Graphics database directory.  The database created
                   in 1998 and provided as part of Version 4.1 of NCAR Graphics is named

       ILVL        (an input expression of type INTEGER) specifies the level at which the
                   database is to be used.  The value 1 says to use only land/water boundaries,
                   the value 2 says to add continental boundaries (like the boundary which
                   separates Africa from Eurasia), the value 3 says to add the boundaries of
                   countries, and the value 4 says to add states.  (The value 5 will eventually
                   be used to add counties.)

       IAMA        (an input/output array of type INTEGER, dimensioned as specified in a call to
                   the AREAS routine ARINAM) is the array containing the area map against which
                   boundary lines are to be masked.  The area map must have been initialized by a
                   call to ARINAM; it should contain the edges required to create a desired
                   effect.  For example, an area map might be created that defines a region of
                   interest, within which user data is available and within which boundary lines
                   are to be drawn.

       XCRA and YCRA
                   (scratch arrays, dimensioned at least MCRA, of type REAL) are to be used by
                   MPLNDM in calls to the AREAS routine ARDRLN; they will eventually be used in
                   calls to the user-provided line-processing routine ULPR.

       MCRA        (an input expression of type INTEGER) is the dimension of the arrays XCRA and

       IAAI and IAGI
                   (scratch arrays, dimensioned at least NOGI, of type INTEGER) are to be used by
                   MPLNDM in calls to the AREAS routine ARDRLN; they will eventually be used in
                   calls to the user-provided line-processing routine ULPR. The mnemonics stand
                   for "Integer Array of Area Identifiers" and "Integer Array of Group
                   Identifiers", respectively.

       NOGI        (an input expression of type INTEGER) is the dimension of the arrays IAAI and
                   IAGI. The mnemonic stands for "Number Of Group Identifiers (of edges in the
                   area map)", which determines the required dimension of IAAI and IAGI.

       ULPR        is the name of the user-supplied line-processing routine. It must be declared
                   EXTERNAL in the routine that calls MPLNDM, so that the compiler and loader
                   will know that it is the name of a routine to be called instead of a variable.
                   The user routine ULPR will be called once for each piece of a boundary line
                   resulting from the masking process; it may decide to draw (or to not draw)
                   each such piece. ULPR will be called using a FORTRAN statement like

                        CALL ULPR (XCRA,YCRA,NCRA,IAAI,IAGI,NGPS)

                   where XCRA and YCRA are real arrays holding the normalized device coordinates
                   of NCRA points defining a polyline which is part of some boundary line and
                   IAAI and IAGI are integer arrays holding NGPS area-identifier/group-identifier
                   pairs for the area within which that piece of the line lies. In writing ULPR,
                   the user may rely upon a SET call's having been done which makes it possible
                   to use normalized device coordinates in calls to routines like CURVE, CURVED,
                   GPL, etc.  For more details, see the reference document for the package named
                   AREAS and, in particular, the description of the subroutine ARDRLN.


       The C-binding argument description is the same as the FORTRAN argument description.


       MPLNDM is called to draw the lines defined by the map database whose name is FLNM, masked
       against the area map in the array IAMA.

       MPLNDM is much like MPLNDR, except that the boundary lines are drawn using calls to MAPITM
       and MAPIQM, which does the masking of the lines against an area map and passes the pieces
       resulting from the masking process along to a user-provided line-drawing routine.


       Use the ncargex command to see the following relevant example: mpex11.


       To use MPLNDM or c_mplndm, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c,
       preferably in that order.


       Online: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod, mapfst, mapgci,
       mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint, mapiq, mapiqa, mapiqd, mapiqm,
       mapit, mapita, mapitd, mapitm, maplbl, maplmb, maplot, mappos, maproj, maprs, maprst,
       mapsav, mapset, mapstc, mapsti, mapstl, mapstr, maptra, maptri, maptrn, mapusr, mapvec,
       mpchln, mpfnme, mpgetc, mpgeti, mpgetl, mpgetr, mpglty, mpiaty, mpifnb, mpilnb, mpiola,
       mpiosa, mpipai, mpipan, mpipar, mpisci, mplnam, mplndr, mplnri, mpname, mprset, mpsetc,
       mpseti, mpsetl, mpsetr, supmap, supcon, ncarg_cbind


       Copyright (C) 1987-2009
       University Corporation for Atmospheric Research
       The use of this Software is governed by a License Agreement.