NAME

cxLatNew - create a lattice with data and coordinates
#include <cx/DataAccess.h>

typedef enum {
 cx_prim_byte,
 cx_prim_short,
 cx_prim_long,
 cx_prim_float,
 cx_prim_double
} cxPrimType;

typedef enum {
 cx_coord_uniform,
 cx_coord_perimeter,
 cx_coord_curvilinear
} cxCoordType;

cxLattice *cxLatNew(long nDim, long dims[],
   long nDataVar, cxPrimType primType,
   long nCoordVar, cxCoordType coordType)
integer cx_prim_byte
integer cx_prim_short
integer cx_prim_long
integer cx_prim_float
integer cx_prim_double

parameter (cx_prim_byte = 0) parameter (cx_prim_short = 1) parameter (cx_prim_long = 2) parameter (cx_prim_float = 3) parameter (cx_prim_double = 4)
integer cx_coord_uniform integer cx_coord_perimeter integer cx_coord_curvilinear
parameter (cx_coord_uniform = 0) parameter (cx_coord_perimeter = 1) parameter (cx_coord_curvilinear = 2)
integer function cxLatNew( nDim, dims, nDataVar, primType, nCoordVar, coordType) integer nDim, dims(nDim) integer nDataVar, primType integer nCoordVar, coordType
nDim
Number of lattice dimensions.
dims
Array specifying length in each dimension.
nDataVar
Number of data elements at each node.
primType
Primitive data type.
nCoordVar
Number of elements per coordinate point.
coordType
Representation of coordinate information.
Returns a pointer to a new lattice. cxLatNew returns a pointer to a cxLattice structure in data memory. The lattice created will have nDim dimensions; the length of each dimension is specified in the array dims. Each node of the lattice will have space for nDataVar elements; the type of each element is specified by primType. Coordinates of the type given by coordType will be created, with nCoordVar floating point elements per coordinate. For uniform and perimeter lattices, the values nDim and nCoordVar must be equal.

Refer to "IRIS Explorer Module Writer's Guide" for more information on the structure of cxLattice and its contents.

Lattice data structures are allocated from a shared memory arena. This shared memory is a limited resource, so it is possible for the memory to be exhausted, causing the allocation routine to fail.

See cxDataManAbortOnError for more details on writing portable module code that copes well with limited memory.

cxDataManAbortOnError



[ Documentation Home ]