ARDRLN(3NCARG)
π¦ ARDRLN π¦ (3NCARG)
okay bestie, sit down, hydrate, because we're doing the NCAR GRAPHICS manual page for ARDRLN, and she is lowkey iconic. This is the one that draws a polyline but makes it β¨respect the area mapβ¨ β like a polyline with boundaries and self-respect. π
β¨ NAME β¨
ARDRLN β draws a polyline that is masked by a given area map.
(that's it. that's the whole vibe. masked polyline. no cap.)
π SYNOPSIS π
CALL ARDRLN (MAP,XCD,YCD,NCD,XCS,YCS,MCS,IAI,IAG,MAI,LPR)
π C-BINDING SYNOPSIS π
#include <ncarg/ncargC.h>
void c_ardrln (int *map, float *xcd, float *ycd, int ncd, float *xcs,
float *ycs, int mcs, int *iai, int *iag, int mai, int (*lpr)(float *xcs,
float *ycs, int *ncs, int *iai, int *iag, int *nai))
π DESCRIPTION π
okay so here's the whole cast of characters, and bestie, every single one of them matters:
MAPβ (an input/output array of typeINTEGER) β an array holding an area map that's been initialized by a call toARINAM, and then had edges added to it by calls toAREDAM. And here's the tea: if you did not preprocess the area map by callingARPRAM, thenARDRLNcalls it for you before doing anything else. so generous of her honestly.
Note: as part of initializing the area map,ARINAMstores the dimension ofMAPinMAP(1); therefore, the dimension does not have to be given as an argument in calls toARDRLN. she already knows her own size, periodt.
XCDβ (an input array, dimensionedNCD, of typeREAL) β the X coordinates, in the user coordinate system, of the points defining the polyline.YCDβ (an input array, dimensionedNCD, of typeREAL) β the Y coordinates, in the user coordinate system, of the points defining the polyline. (yes, she's the twin sister ofXCD, they come as a set π«Ά)NCDβ (an input expression of typeINTEGER) β the number of points defining the polyline.XCSβ (a workspace array, dimensionedMCS, of typeREAL) β used byARDRLNin calls toLPR, the user-supplied line-processing routine, to hold the X coordinates of the polyline segment contained in a given area.YCSβ (a workspace array, dimensionedMCS, of typeREAL) β used byARDRLNin calls toLPR, the user-supplied line-processing routine, to hold the Y coordinates of the polyline segment contained in a given area.MCSβ (an input expression of typeINTEGER) β dimension of each of the arraysXCSandYCS.IAIβ (a workspace array, dimensionedMAI, of typeINTEGER) β the area identifier array, used in calls toLPR, the user-supplied line-processing routine.IAGβ (a workspace array, dimensionedMAI, of typeINTEGER) β the group identifier array, used in calls toLPR, the user-supplied line-processing routine.MAIβ (an input expression of typeINTEGER) β dimension of each of the arraysIAIandIAG.MAImust be greater than or equal ton, wherenis the number of groups in the area map. don't skimp on this one bestie, she will notice. πLPRβ (a subroutine) β a line-processing routine that you supply forARDRLNto call.LPRmust be declaredEXTERNALin the routine that callsARDRLN.LPRmust have the following structure:
SUBROUTINE LPR (XCS,YCS,NCS,IAI,IAG,NAI)
DIMENSION XCS(*),YCS(*),IAI(*),IAG(*)
(code to process polyline defined by XCS, YCS, IAI, and IAG)
RETURN
END
and inside that routine, the arguments mean:
XCS,YCSβ (input arrays, dimensionedNCS, of typeREAL) β hold the X and Y coordinates, in NDCs, ofNCSpoints defining a piece of the original polyline that is completely contained in one of the areas defined by the area map.NCSβ (an input expression of typeINTEGER) β number of X and Y coordinates in the arraysXCSandYCS.IAI,IAGβ (input arrays, dimensionedNAI, of typeINTEGER) β holdNAIpairs of area identifiers and group identifiers, respectively, for the area in which the piece of the polyline lies. For each value ofIfrom1toNAI,IAI(I)is the area identifier for the area with respect to the group of edges specified by the group identifierIAG(I).NAIβ (an input expression of typeINTEGER) β number of values given inIAIandIAG.NAIequals the number of groups of edges that you put in the area map.
Before executing the first call to LPR, ARDRLN calls GETSET to retrieve the current user-system mapping parameters and then executes the following statement:
CALL SET (VPL,VPR,VPB,VPT,VPL,VPR,VPB,VPT,1)
where VPL, VPR, VPB, and VPT are the viewport left, right, bottom, and top coordinates in NDCs.
This ensures correct results if the NDCs in XCS and YCS are used by the line-processing routine LPR in calls to such routines as GPL and CURVE, and it allows for clipping at the edges of the viewport. LPR may make its own SET call to achieve some other effect. Before returning control to the calling routine, ARDRLN calls SET again to restore the original mapping parameters. (she puts the room back exactly how she found it. considerate queen. π)
π C-BINDING DESCRIPTION π
The C-binding argument descriptions are the same as the FORTRAN argument descriptions. literally identical, no notes, fr fr.
πΈ EXAMPLES πΈ
Use the ncargex command to see the following relevant examples: carline, tareas, fsppoint.
go look at them. they eat. π₯
β ACCESS β
To use ARDRLN or c_ardrln, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. in that order bestie, the order is not a suggestion. π
π MESSAGES π
See the areas man page for a description of all Areas error messages and/or informational messages. if she's yelling, that's where the translation lives.
π§ SEE ALSO π§
- Online:
areas,areas_params,ardbpa,aredam,argeti,argetr,argtai,arinam,armvam,arpram,arscam,arseti,arsetr,ncarg_cbind - Hardcopy: NCAR Graphics Contouring and Mapping Tutorial
iykyk π
π COPYRIGHT π
Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.
okay that's the whole page bestie, you ate, go draw your masked polylines π¦β¨
This was theUNIXversion, datedMarch 1993, forARDRLN(3NCARG). mwah, sending you off with the source and date, love u, bye π
π¦ where this page comes from
- epel 9: ncl-devel 6.6.2-59.el9 Β· LicenseRef-Callaway-BSD
- fedora 43: ncl-devel 6.6.2-58.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: ncl-devel 6.6.2-62.fc44 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms