Dashline(3) A set of line-drawing routines that can be used to

SYNOPSIS

DASHDB -
Defines a dash pattern without labels.
DASHDC -
Defines a dash pattern with labels. If DASHDC is called when the "quick" version of Dashline is used, an error exit results.
FRSTD -
Defines the first of a sequence of points through which a curve is to be drawn.
VECTD -
Defines the second and following of a sequence of points through which a curve is to be drawn.
LASTD -
Terminates a sequence of calls to draw a curve (a call to FRSTD followed by one or more calls to VECTD).
LINED -
Draws a straight line segment between two points.
CURVED -
Draws a curve through a sequence of points.
RESET -
The "super" version of RESET zeroes the internal integer array used to detect crowded lines; other versions do nothing.

C-BINDING SYNOPSIS

#include <ncarg/ncargC.h>

c_dashdb
c_dashdc
c_frstd
c_vectd
c_lastd
c_lined
c_curved
c_reset

USAGE

The Dashline utility allows you to draw various kinds of lines. In all four versions of it (quick, normal, smooth and super), you can specify an arbitrary dash pattern for the lines (including a solid line). In all but the quick version, you can also add interspersed labels to the lines for purposes such as naming lines in an XY plot or assigning contour levels to contour lines. In the smooth and super versions, the lines can also be smoothed using splines under tension.
Warning:
You must be careful when using the smoothing option. Allowing a high degree of smoothing may have serious side effects, such as XY curves with multiple valued loops and contours which cross over other contours.

The super version additionally allows for the culling of crowded lines. In order for the culling process to work properly, the routine RESET must be called at the beginning of each picture; when using other versions of Dashline, the calls to RESET may be left in, as they then do nothing.

ACCESS

To use the normal version of the Dashline utility, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. Other optional libraries to create the quick, smooth, and super versions of Dashline are automatically linked in by the ncargf77 command. If you need to know the names of these libraries for a particular version of Dashline, execute an "ncargf77" command with the appropriate option and a dummy input file and examine the resulting command line that is echoed and executed.

To run a code called mycode.f which has one or more calls to Dashline entries, issue one of the commands:

NORMAL
Command: "ncargf77 mycode.f"

The lines will be drawn as unsmoothed dashed or solid lines. DASHDC may be called to define a dash pattern with labels.

QUICK
Command: "ncargf77 -quick mycode.f"

The lines will be drawn as unsmoothed dashed or solid lines. The dash pattern may not include labels. If DASHDC is called, an error exit will result; DASHDB must be used instead.

SMOOTH
Command: "ncargf77 -smooth mycode.f"

The lines will be drawn as dashed or solid lines, smoothed using splines under tension. DASHDC may be called to define a dash pattern with labels.

SUPER
Command: "ncargf77 -super mycode.f"

The lines will be drawn as dashed or solid lines, smoothed using splines under tension. DASHDC may be called to define a dash pattern with labels. Crowded lines will be thinned; in order for this to work properly, you must remember to call RESET at the beginning of each picture.

MESSAGES

When error conditions are detected, the support routine SETER is called in such a way that it writes a message to the standard error file (as defined by I1MACH(4)) and then terminates execution. The possible error messages are as follows:
CFVLD -- VECTD CALL OCCURS BEFORE A CALL TO FRSTD
You must call FRSTD before the first call to VECTD.
DASHDB -- BLOCKDATA DASHBD APPARENTLY NOT LOADED CORRECTLY
If you have used the ncargf77 command options as discussed in the ACCESS Section, see your system administrator.
DASHDC -- BLOCKDATA DASHBD APPARENTLY NOT LOADED CORRECTLY
You have called DASHDC when using the "quick" version of Dashline. This is not allowed.
FDVDLD -- VECTD CALL OCCURS BEFORE A CALL TO FRSTD
You must call FRSTD before the first call to VECTD.

COPYRIGHT

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