VectorField class resource descriptions

vfDataArray
This resource specifies a 3-dimensional array containing the data comprising a vector field. You must specify either vfDataArray or the two resources vfUDataArray and vfVDataArray in order to create a VectorField object. The slowest varying dimension (first dimension in C, third dimension in Fortran) must contain two elements, representing the two components of the field. The first element represents the U data and the second the V data (before the effect of vfExchangeUVData is taken into account). The fastest varying dimension represents the X Axis of the data coordinate system; vfXC... VectorField resources always relate to this dimension. The middle dimension represents the data coordinate Y Axis; vfYC... resources always relate to this dimension.

Although the VectorField object always converts the data into type NhlTFloat before passing them along to recipient objects, it accepts data arrays containing data of any of the following types:

Default: NULL

vfUDataArray
If vfDataArray is not set, then this resource and vfVDataArray must both be specified in order to create a VectorField object. Together, these resources specify the data defining a vector field using two arrays specifying the vector components. The fastest varying dimension (second dimension in C, first dimension in Fortran) represents the X Axis of the data coordinate system; vfXC... VectorField resources always relate to this dimension. The other dimension represents the data coordinate Y Axis; vfYC... resources always relate to this dimension.

You may set vfUDataArray using any of the data types VectorField accepts for the vfDataArray resource.

Default: NULL

vfVDataArray
If vfDataArray is not set, then this resource and vfUDataArray must both be specified in order to create a VectorField object. Together, these resources specify the data defining a vector field using two arrays specifying the vector components. The fastest varying dimension (second dimension in C, first dimension in Fortran) represents the X Axis of the data coordinate system; vfXC... VectorField resources always relate to this dimension. The other dimension represents the data coordinate Y Axis; vfYC... resources always relate to this dimension.

You may set vfVDataArray using any of the data types VectorField accepts for the vfDataArray resource.

Default: NULL

vfXArray
The values of the vfXArray resource sequentially represent the X-Axis coordinate of each successive element along the fastest-varying dimension of the data. If vfXArray is set to a non-NULL value, VectorField checks to ensure first that it has the same number of elements as the X-axis dimension of the data and second that it is monotonically increasing or descreasing. If the input array fails either of these tests, vfXArray is reset to its default value of NULL, and the data are treated as if each array element were equally spaced along the X Axis between the values of vfXCStartV and vfXCEndV. If the input array is valid, VectorField replaces the current value of vfXCStartV with the value of the first element of vfXArray, and vfXCEndV with the value of the last element. You can specify vfXArray using a single-dimensioned array of any of the types allowed for vfDataArray.

V4.1 Status Note 1

Default: NULL

vfYArray
The values of the vfYArray resource sequentially represent the Y-Axis coordinate of each successive element along the middle or slowest-varying dimension of the data. If vfYArray is set to a non-NULL value, VectorField checks to ensure first that it has the same number of elements as the Y-axis dimension of the data and second that it is monotonically increasing or descreasing. If the input array fails either of these tests, vfYArray is reset to its default value of NULL, and the data are treated as if each array element were equally spaced along the Y Axis between the values of vfYCStartV and vfYCEndV. If the input array is valid, VectorField replaces the current value of vfYCStartV with the value of the first element of vfYArray, and vfYCEndV with the value of the last element. You can specify vfYArray using a single-dimensioned array of any of the types allowed for vfDataArray.

V4.1 Status Note 1

Default: NULL

vfPolarData
If this resource is set True, the arrays passed into VectorField are assumed to represent the vector field in terms of magnitude and angular direction rather than by orthogonal vector components. By default the U array is interpreted as the magnitude and the V array as direction. However, if the resource vfExchangeUVData is set True, the V array will be assumed to contain the magnitude and the U array the direction.

Default: False

vfCopyData
The boolean resource vfCopyData allows you to control whether the VectorField object always copies the elements of the vfDataArray into a private memory area. If you set vfCopyData False, VectorField will not copy the vfXArray or the vfYArray data and will try to avoid making a copy of the vfDataArray data. You are then responsible for ensuring that the data memory locations for these arrays are preserved intact for the lifetime of the VectorField. In return, you may save dynamic memory space. Note that a number of circumstances require VectorField to copy the data regardless. These include supplying data of any type other than NhlTFloat, requesting that the data dimensions be exchanged, or setting a stride value greater than 1 in either the X or the Y dimension. Also, if you specify a data array subset and one or both of the coordinate array resources (sfXArray and/or sfYArray) is non-NULL, copies are made of the subsetted part of the coordinate array.

Default: True

vfExchangeDimensions
When this boolean resource is set True, VectorField exchanges the X and Y dimensions of the data before passing them to the recipient object. This will have the effect of turning the plot on its side when rendered by a plot object. Note that since the U and V components implicitly exist in the coordinate system that is exchanged, these arrays must be exchanged at the same time in order maintain an equivalent relationship between the elements of the field. You can do this by inverting the value of the resource vfExchangeUVData.

Whenever vfExchangeDimensions is True, VectorField must copy the data, regardless of the setting of the vfCopyData resource.

Default: False

vfExchangeUVData
When this boolean resource is set True, VectorField exchanges the roles of the U and V arrays. If you supply the data using the single array resource vfDataArray, the two elements of the slowest varying dimension are traded. If vfExchangeDimensions is set True, you must invert the current value of vfExchangeUVData in order to preserve the current relationship of the elements of the vector field. If vfPolarData is set True, then this resource controls which array is used for the magnitude and which for the angular direction.

Default: False

vfSingleMissingValue
When this boolean resource is set True, VectorField assumes that any missing values in both the U and V arrays are represented by the same sentinel value. In this case, you need set only one of the resources vfMissingUValueV and vfMissingVValueV to indicate the sentinel missing value. If both are set, then the value given by vfMissingVValueV is ignored. When vfSingleMissingValue is set False, then the U and V array are examined separately for their individual missing values, as specified by the resources vfMissingUValueV and vfMissingVValueV.

Default: False

vfMissingUValueV
If vfSingleMissingValue is False and you set vfMissingUValueV to a non-NULL value, VectorField treats occurrences of its value in the U data array as representing an undefined data point. If left unset, VectorField assumes that all values in the U data array are valid.

If vfSingleMissingValue is True and you set vfMissingUValueV to a non-NULL value, VectorField treats occurrences of its value in either the U or V data arrays as representing an undefined data point. If vfMissingUValueV is not set, but vfMissingVValueV is set, then occurrences of the value of vfMissingVValueV in either array causes the data point to be treated as undefined. If neither vfMissingUValueV nor vfMissingVValueV is set, then VectorField assumes that all values in the U data array are valid.

You may set vfMissingVValueV using any of the data types VectorField accepts for the vfDataArray resource.

Default: NULL

vfMissingVValueV
If vfSingleMissingValue is False and you set vfMissingVValueV to a non-NULL value, VectorField treats occurrences of its value in the V data array as representing an undefined value. If left unset, VectorField assumes that all values in the V data array are valid.

If vfSingleMissingValue is True and you set vfMissingVValueV to a non-NULL value, its value is ignored unless vfMissingUValueV is not set. If vfMissingUValueV is not set, VectorField treats occurrences of the value of vfMissingVValueV in either the U or V data arrays as representing an undefined data point. If neither vfMissingUValueV nor vfMissingVValueV is set, then VectorField assumes that all values in the U data array are valid.

You may set vfMissingVValueV using any of the data types VectorField accepts for the vfDataArray resource.

Default: NULL

vfMagMinV
By default the VectorField object sets vfMagMinV to the smallest vector magnitude computed from the individual vector components in the data arrays. However, if you set the value of this resource, VectorField assumes that the set value is, in fact, the minimum magnitude. You may set vfMagMinV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfMagMaxV
By default the VectorField object sets vfMagMaxV to the largest vector magnitude computed from the individual vector components in the data arrays. However, if you set the value of this resource, VectorField assumes that the set value is, in fact, the maximum magnitude. You may set vfMagMaxV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfUMinV
By default the VectorField object sets vfUMinV to the smallest value in the U data array. However, if you set the value of this resource, VectorField does not process the array to find the minimum value. Instead it assumes that the set value is, in fact, the minimum value. You may set vfUMaxV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfUMaxV
By default the VectorField object sets vfUMaxV to the largest value in the U data array. However, if you set the value of this resource, VectorField does not process the array to find the maximum value. Instead it assumes that the set value is, in fact, the maximum value. You may set vfUMaxV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfVMinV
By default the VectorField object sets vfVMinV to the smallest value in the V data array. However, if you set the value of this resource, VectorField does not process the array to find the minimum value. Instead it assumes that the set value is, in fact, the minimum value. You may set vfVMaxV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfVMaxV
By default the VectorField object sets vfVMaxV to the largest value in the V data array. However, if you set the value of this resource, VectorField does not process the array to find the maximum value. Instead it assumes that the set value is, in fact, the maximum value. You may set vfVMaxV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfXCStartV
This resource specifies the location along the X Axis of the first element of the fastest-varying dimension of the data. If the array resource vfXArray is set and found to be valid, VectorField overwrites the current value of vfXCStartV, replacing it with the value of the first element of vfXArray. Otherwise, you can set vfXCStartV to any value (presumably meaningful in the context of the your data). If vfXCStartV is greater than vfXCEndV, the direction of the data locations along the X Axis is opposite the direction of the positive X Axis. If vfXArray is NULL or invalid and vfXCStartV is not specified, VectorField sets vfXCStartV to the value 0. You may set vfXCStartV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfXCEndV
This resource specifies the location along the X Axis of the last element of the fastest-varying dimension of the data. If the array resource vfXArray is set and found to be valid, VectorField overwrites the current value of vfXCEndV, replacing it with the value of the last element of vfXArray. Otherwise, you can set vfXCEndV to any value (presumably meaningful in the context of the your data). If vfXCStartV is greater than vfXCEndV, the direction of the data locations along the X Axis is opposite the direction of the positive X Axis. If vfXArray is NULL or invalid and vfXCEndV is not specified, VectorField sets vfXCEndV to the size of the faster-varying data dimension minus one. You may set vfXCEndV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfYCStartV
This resource specifies the location along the Y Axis of the first element of the middle or slowest-varying dimension of the data. If the array resource vfYArray is set and found to be valid, VectorField overwrites the current value of vfYCStartV, replacing it with the value of the first element of vfYArray. Otherwise, you can set vfYCStartV to any value (presumably meaningful in the context of the your data). If vfYCStartV is greater than vfYCEndV, the direction of the data locations along the Y Axis is opposite the direction of the positive Y Axis. If vfYArray is NULL or invalid and vfYCStartV is not specified, VectorField sets vfYCStartV to the value 0. You may set vfYCStartV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfYCEndV
This resource specifies the location along the Y Axis of the last element along the middle or slowest-varying dimension of the data. If the array resource vfYArray is set and found to be valid, VectorField overwrites the current value of vfYCStartV, replacing it with the value of the last element of vfYArray. Otherwise, you can set vfYCStartV to any value (presumably meaningful in the context of the your data). If vfYCStartV is greater than vfYCEndV, the direction of the data locations along the Y Axis is opposite the direction of the positive Y Axis. If vfYArray is NULL or invalid and vfYCEndV is not specified, VectorField sets vfYCEndV to the size of the slower-varying data dimension minus one. You may set vfYCEndV using any of the data types VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfXCStartSubsetV
vfXCStartSubsetV specifies the starting location along the X Axis of a rectangular sub-array of the data. vfXCStartSubsetV should be set to a value within the data coordinate extent as established by the values of vfXCStartV and vfXCEndV. If vfXCStartSubsetV is outside the coordinate extent, VectorField issues a warning and sets it to the value of vfXCStartV. If the values of vfXCStartSubsetV and vfXCEndSubsetV are oppositely directed from the direction established by vfXCStartV and vfXCEndV, VectorField issues a warning and exchanges their values. When you do not explicitly set a value for vfXCStartSubsetV:

Since the data grid consists of data located at discrete points, the location specified by vfXCStartSubsetV might well fall between two data points. In this case, VectorField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. Get the value of the read-only resource vfXCActualStartF in order to find the exact start of the subset along the X Axis. You may set vfXCSubsetStartV using any of the data types that VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfXCEndSubsetV
vfXCEndSubsetV specifies the ending location along the X Axis of a rectangular sub-array of the data. It should be set to a value within the data coordinate extent as established by the values of vfXCStartV and vfXCEndV. If it is outside the coordinate extent, VectorField issues a warning and sets it to the value of vfXCEndV. If the values of vfXCStartSubsetV and vfXCEndSubsetV are oppositely directed from the direction established by vfXCStartV and vfXCEndV, VectorField issues a warning and exchanges their values. When you do not explicitly set a value for vfXCEndSubsetV:

Since the data grid consists of data located at discrete points, the location specified by vfXCEndSubsetV might well fall between two data points. In this case, VectorField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. Get the value of the read-only resource vfXCActualEndF in order to find the exact end of the subset along the X Axis. You may set vfXCSubsetEndV using any of the data types that VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfYCStartSubsetV
vfYCStartSubsetV specifies the starting location along the Y Axis of a rectangular sub-array of the data. It should be set to a value within the data coordinate extent as established by the values of vfYCStartV and vfYCEndV. If it is outside the coordinate extent, VectorField issues a warning and sets it to the value of vfYCStartV. If the values of vfYCStartSubsetV and vfYCEndSubsetV are oppositely directed from the direction established by vfYCStartV and vfYCEndV, VectorField issues a warning and exchanges their values. When you do not explicitly set a value for vfYCStartSubsetV:

Since the data grid consists of data located at discrete points, the location specified by vfYCStartSubsetV might well fall between two data points. In this case, VectorField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. Get the value of the read-only resource vfYCActualStartF in order to find the exact start of the subset along the Y Axis. You may set vfYCSubsetStartV using any of the data types that VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfYCEndSubsetV
vfYCEndSubsetV specifies the ending location along the Y Axis of a rectangular sub-array of the data. It should be set to a value within the data coordinate extent as established by the values of vfYCStartV and vfYCEndV. If it is outside the coordinate extent, VectorField issues a warning and sets it to the value of vfYCEndV. If the values of vfYCStartSubsetV and vfYCEndSubsetV are oppositely directed from the direction established by vfYCStartV and vfYCEndV, VectorField issues a warning and exchanges their values. When you do not explicitly set a value for vfYCEndSubsetV:

Since the data grid consists of data located at discrete points, the location specified by vfYCEndSubsetV might well fall between two data points. In this case, VectorField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. Get the value of the read-only resource vfYCActualEndF in order to find the exact end of the subset along the Y Axis. You may set vfYCSubsetEndV using any of the data types that VectorField accepts for the vfDataArray resource.

Default: <dynamic>

vfXCStartIndex
This resource specifies the smaller of two indexes along the X-Axis dimension bounding a rectangular sub-array of the data. Explicitly setting vfXCStartSubsetV overrides any value set for vfXCStartIndex, and causes it to be set to the array index value associated with the closest data point such that the requested data coordinate location is included within the subset. Otherwise, when you set vfXCStartIndex, the data coordinate value indexed by its value is placed into vfXCStartSubsetV. vfXCStartIndex retains its value when the data change, unless the X-Axis dimension size also changes. In this case, assuming neither vfXCStartSubsetV nor vfXCStartIndex is explicitly set at the same time, vfXCStartIndex is set to 0.

Default: <dynamic>

vfXCEndIndex
This resource specifies the larger of two indexes along the X-Axis dimension bounding a rectangular sub-array of the data. Explicitly setting vfXCEndSubsetV overrides any value set for vfXCEndIndex, and causes it to be set to the array index value associated with the closest data point such that the requested data coordinate location is included within the subset. Otherwise, when you set vfXCEndIndex, the data coordinate value indexed by its value is placed into vfXCEndSubsetV. vfXCEndIndex retains its value when the data change, unless the X-Axis dimension size also changes. In this case, assuming neither vfXCEndSubsetV nor vfXCEndIndex is explicitly set at the same time, vfXCEndIndex is set to the size of the X-Axis dimension minus one.

Default: <dynamic>

vfYCStartIndex
This resource specifies the smaller of two indexes along the Y-Axis dimension bounding a rectangular sub-array of the data. Explicitly setting vfYCStartSubsetV overrides any value set for vfYCStartIndex, and causes it to be set to the array index value associated with the closest data point such that the requested data coordinate location is included within the subset. Otherwise, when you set vfYCStartIndex, the data coordinate value indexed by its value is placed into vfYCStartSubsetV. vfYCStartIndex retains its value when the data change, unless the Y-Axis dimension size also changes. In this case, assuming neither vfYCStartSubsetV nor vfYCStartIndex is explicitly set at the same time, vfYCStartIndex is set to 0.

Default: <dynamic>

vfYCEndIndex
This resource specifies the larger of two indexes along the Y-Axis dimension bounding a rectangular sub-array of the data. Explicitly setting vfYCEndSubsetV overrides any value set for vfYCEndIndex, and causes it to be set to the array index value associated with the closest data point such that the requested data coordinate location is included within the subset. Otherwise, when you set vfYCEndIndex, the data coordinate value indexed by its value is placed into vfYCEndSubsetV. vfYCEndIndex retains its value when the data change, unless the Y-Axis dimension size also changes. In this case, assuming neither vfYCEndSubsetV nor vfYCEndIndex is explicitly set at the same time, vfYCEndIndex is set to the size of the Y-Axis dimension minus one.

Default: <dynamic>

vfXCActualStartF
When a subset of the data is specified by location in data coordinate space using vfXCEndSubsetV, this location might well fall between two data points. In this case, VectorField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. The read-only resource vfXCActualEndF always contains the actual ending location of the data subset along the X Axis.

Default: <dynamic>

vfXCActualEndF
When a subset of the data is specified by location in data coordinate space using vfYCStartSubsetV, this location might well fall between two data points. In this case, VectorField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. The read-only resource vfYCActualStartF always contains the actual starting location of the data subset along the Y Axis.

Default: <dynamic>

vfYCActualStartF
When a subset of the data is specified by location in data coordinate space using vfYCStartSubsetV, this location might well fall between two data points. In this case, VectorField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. The read-only resource vfYCActualStartF always contains the actual starting location of the data subset along the Y Axis.

Default: <dynamic>

vfYCActualEndF
When a subset of the data is specified by location in data coordinate space using vfYCEndSubsetV, this location might well fall between two data points. In this case, VectorField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving object, may represent a slightly larger area of the data coordinate space than requested. The read-only resource vfYCActualEndF always contains the actual ending location of the data subset along the Y Axis.

Default: <dynamic>

vfXCStride
When vfXCStride has a value greater than one, the VectorField object creates a new array containing only columns indexed along the X dimension by successive multiples (starting with 0) of the vfXCStride value added to the starting index. The starting index is based on the current state of the applicable subsetting resources; it is 0 if no array subsetting is in effect. The resulting array is passed to the receiving plot object.

Note that if ending index minus starting index is not an exact multiple of the vfXCStride value, then the data coordinate range may be reduced slightly.

Default: 1

vfYCStride
When vfYCStride has a value greater than one, the VectorField object creates a new array containing only rows indexed along the Y dimension by successive multiples (starting with 0) of the vfYCStride value added to the starting index. The starting index is based on the current state of the applicable subsetting resources; it is 0 if no array subsetting in effect. The resulting array is passed to the receiving plot object.

Note that if ending index minus starting index is not an exact multiple of the vfYCStride value, then the data coordinate range may be reduced slightly.

Default: 1


Reference Manual Control Panel

NG4.1 Home, Index, Examples, Glossary, Feedback, Ref Contents, Ref WhereAmI?


$Revision: 1.6 $ $Date: 1998/08/18 08:15:23 $