VVECTR(3NCARG) | NCAR GRAPHICS | VVECTR(3NCARG) |
VVECTR - Manages the coordinate system mapping, color setting, auxiliary text output, and drawing of the vector field plot, according to the specifications established by the parameter setting routines and the initialization routine, VVINIT.
CALL VVECTR (U,V,P,IAM,VVUDMV,WRK)
#include <ncarg/ncargC.h>
void c_vvectr(float *u, float *v, float *p, int *iam,
int (*vvudmv_)(float *xcs, float *ycs,
int *ncs, int *iai, int *iag, int *nai),
float *wrk)
The C-binding argument descriptions are the same as the FORTRAN argument descriptions.
A call to VVINIT must precede the first call to VVECTR, and is again required any time the vector or scalar array data changes, any of the coordinate control parameters are modified, or the number of color threshold levels is modified when Vectors is given the responsibility of setting up the color threshold value array. However, the user may modify text elements or any of the rendering control parameters, and if assuming responsibility for setting up the color threshold array, may also modify the color array parameters, in between multiple invocations of VVECTR.
Arguments to VVINIT establish the sizes of the two or three data
arrays, as well as the possible work array. VVINIT places these values into
common block variables where they become available to VVECTR. Therefore no
size arguments need appear in the VVECTR argument list. When there is no
scalar data array, area masking is not enabled, and VMD is less than or
equal to 0.0, all but the first two arguments to VVECTR may have dummy
values and the invocation would be something like:
CALL VVECTR(U,V,IDM,IDM,IDM,IDM)
where IDM is an arbitrary variable, INTEGER or REAL, that need not have been initialized. However, any time the color threshold control parameter, CTV has an absolute value of 2, the auxiliary scalar data array is expected, and the P scalar array variable needs to be specified.
The masking capability supported by Vectors allows the user to overlay vector fields on top of graphics produced by other utilities, such as Conpack contour plots, without encroaching on areas, like label boxes, that should appear in the foreground. Normally the area map should be generated and used in the normal way (as described in the Areas and Conpack documentation) before calling any routines in the Vectors utility. When the parameter MSK has a non-zero value, masking is enabled and a previously created area map must be passed to VVECTR. VVECTR examines the map, returning an error if it determines that it is an invalid map or contains more area maps that it can handle, currently 64. Otherwise its only use of the map is as a member of the argument list when invoking one of the Areas routines, ARDRLN or ARGTAI. The user must also pass in a user-definable masked drawing subroutine. A simple version of this subroutine, named VVUDMV, is supplied with the Vectors utility, and may suffice for basic masked drawing operations. See the vvudmv man page for more information.
The last argument in the calling sequence, WRK, is used only when the parameter VMD (Vector Minimum Distance) is given a value greater than 0.0. In this case, Vectors uses the array to keep track of the location of each vector in NDC space so that the distances between vectors can be compared. Based on these comparisons, Vectors eliminates some vectors such that the remaining vectors are separated by at least the specified distance. Otherwise the WRK argument is ignored, and may be passed a dummy argument value.
Use the ncargex command to see the following relevant examples: bnchmk, fcover, ffex00, ffex01, ffex02, ffex05, stex02, stex03, vvex01, vvex02.
To use VVECTR or c_vvectr, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.
See the vectors man page for a description of all Vectors error messages and/or informational messages.
Online: vectors, vectors_params, vvgetc, vvgeti, vvgetr, vvinit, vvrset, vvsetc, vvseti, vvsetr, vvudmv, vvumxy, ncarg_cbind.
Hardcopy: NCAR Graphics Fundamentals, UNIX Version
Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.
April 1993 | UNIX |