
MeshScalarField class
The MeshScalarField class provides access to non-rectangular two-dimensional scalar field data.Synopsis
Header file: ncarg/hlu/MeshScalarField.h Class name: meshScalarFieldClass Class pointer: NhlmeshScalarFieldClass Fortran class pointer: NHLFMESHSCALARFIELDCLASS Superclass: ScalarField Composite classes: <None>
Resources
Local resources
+---------------------------------------------------------------+ | MeshScalarField Resource Set | |---------------------------------------------------------------| | NAME TYPE ACCESS | | CLASS DEFAULT | |===============================================================| | sfDataArray NhlTGenArray RCSG | | SfDataArray NULL | |---------------------------------------------------------------| | sfXArray NhlTGenArray RCSG | | SfXArray NULL | |---------------------------------------------------------------| | sfYArray NhlTGenArray RCSG | | SfYArray NULL | |---------------------------------------------------------------| | sfElementNodes NhlTGenArray RCSG | | SfElementNodes NULL | |---------------------------------------------------------------| | sfFirstNodeIndex NhlTInteger RCSG | | SfFirstNodeIndex 0 | |---------------------------------------------------------------| | sfXCellBounds NhlTGenArray RCSG | | SfXCellBounds NULL | |---------------------------------------------------------------| | sfYCellBounds NhlTGenArray RCSG | | SfYCellBounds NULL | |---------------------------------------------------------------| | sfCopyData NhlTBoolean RCSG | | diCopyData True | |---------------------------------------------------------------| | sfMissingValueV NhlTVariable RCSG | | SfMissingValueV NULL | |---------------------------------------------------------------| | sfDataMinV NhlTVariable RCSG | | SfDataMinV <Dynamic> | |---------------------------------------------------------------| | sfDataMaxV NhlTVariable RCSG | | SfDataMaxV <Dynamic> | |---------------------------------------------------------------| | sfXCActualStartF NhlTFloat G | | SfXCActualStartF <Dynamic> | |---------------------------------------------------------------| | sfXCActualEndF NhlTFloat G | | SfXCActualEndF <Dynamic> | |---------------------------------------------------------------| | sfYCActualStartF NhlTFloat G | | SfYCActualStartF <Dynamic> | |---------------------------------------------------------------| | sfYCActualEndF NhlTFloat G | | SfYCActualEndF <Dynamic> | +---------------------------------------------------------------+
Composite resources
The MeshScalarField object class has no composite class objects.
Superclass resources
MeshScalarField overrides all the resources of its superclass ScalarField. Many are blocked entirely. The rest are redefined with specific local meaning for MeshScalarField.
Description
The MeshScalarField provides a way of communicating data that is not on a rectangular grid in a form suitable for generating a triangular mesh that plot objects such as ContourPlot can visualize.Beginning with version 6.2.0,
the MeshScalarField can also be used to directly render non-structured grids
without necessarily generating a triangular mesh. This is the case when the ContourPlot
resource cnFillMode is set to CellFill
and
cell vertices are explicitly specified using the resources sfXCellBounds and
sfYCellBounds.
At least three resources must be defined to create a MeshScalarField object: sfDataArray, sfXArray, and sfYArray. Each is a one-dimensional array whose corresponding elements define the nodes of a mesh. Each node consists of a data value and its location in 2-dimensional coordinate space.
There are three ways a triangular mesh can be created from the data nodes, depending on the resources you provide to the MeshScalarField:
- You may set the sfElementNodes resource to specify explicitly a set of triangles.
- You may set sfXCellBounds and sfYCellBounds to specify the vertices of cells surrounding the data locations. The triangles defining the mesh will be deduced by sorting and matching vertices from adjacent cell boundaries.
- You may specify no additional information, in which case a Delauney triangulation of the points will be calculated in the projection plane, using Jonathan Shewchuk's Triangle package. This option has the following caveat: MeshScalarField currently has no way of communicating the mesh boundaries to the Triangle package. In practice, this means that concave boundary areas of the mesh will be poorly represented.
The MeshScalarField object automatically converts data specified using a variety of numerical types into the NhlTFloat type expected by HLU data receiver objects. The types it currently handles are:
Many of the supplementary resources may also be set using any of these types. Note that scalar resources capable of accepting any type have the suffix 'V' at the end of their name.Support functions
The MeshScalarField object does not define any support functions, but inherits all the support functions available to its superclass.See also
- NhlCreate function
- NhlSetValues function
- NhlGetValues function
- NhlAddData function
- ContourPlot object
- ScalarField object
- DataItem object
- Base object