DataAccess - file header for access routines to IRIS Explorer data types
include <cx/DataTypes.h>
DataAccess.h defines application programming interface routines that manipulate IRIS Explorer data types. Each Explorer data type (e.g. cxParameter, cxLattice, etc.) have routines for creating new data with various characteristics; duplicating existing data; accessing type information (e.g. whether data is stored as integer or floating point values); accessing the stored data values; setting new values; and utility routines for commonly performed operations. Error reporting routines that apply to all data types are also defined.

It is strongly recommended that only the routines defined in DataAccess.h be used to access or modify the contents of IRIS Explorer data types to maintain the maximum compatibility with future releases of IRIS Explorer.

cxParameter routines:

cxParameter *cxParamNew();
cxParameter *cxParamDoubleNew( double val );
cxParameter *cxParamLongNew( long val );
cxParameter *cxParamStrNew( char *str );
cxParameter *cxParamDup( cxParameter *src );
cxParamType cxParamTypeGet( cxParameter *src);
double cxParamDblGet( cxParameter *src );
long cxParamLongGet( cxParameter *src );
char *cxParamStrGet( cxParameter *src );
char *cxParamGetPathname( cxParameter *src );
int cxParamTypeSet( cxParameter *src, cxParamType type );
int cxParamDblSet( cxParameter *src, double val );
int cxParamLongSet( cxParameter *src, long val );
int cxParamStrSet( cxParameter *src, char *str );

cxLattice routines:

cxLattice *cxLatRootNew( long nDim, long dims[] );
cxLattice *cxLatNew( long nDim, long dims[],
   long nDataVar,  cxPrimType primType,
   long nCoordVar, cxCoordType coordType );
cxLattice *cxLatDataNew( long nDim, long dims[],
   long nDataVar, cxPrimType primType );
cxLattice *cxLatCoordNew( long nDim, long dims[],
   long nCoordVar, cxCoordType coordType );
cxLattice *cxLatRootDup( cxLattice *src );
cxLattice *cxLatDup( cxLattice *src, int dataCopy, int coordCopy );
int cxLatPtrGet( cxLattice *src,
   cxData  **data,  void **dataVals,
   cxCoord **coord, void **coordVals );
int cxLatPtrSet( cxLattice *src,
   cxData *data,    void *dataVals,
   cxCoord *coord,  void *coordVals );
int cxLatDescGet( cxLattice  *src,
  long *nDim,     long *(dims[]),
  long *hasData,  long *nDataVar,   cxPrimType  *dType,
  long *hasCoord, long *nCoordVar,  cxCoordType *cType );

cxData routines:

cxData *cxDataNew( long nDim, long dims[],
   long nDataVar, cxPrimType primType );
cxData *cxDataDup( cxData *src );
void *cxDataValsGet( cxData *dat );
void  cxDataValsSet( cxData *dat, void *vals );
cxPrimType cxDataPrimType( cxData *data );
long cxDataPrimSize( cxData *dat );
int cxPrimTypePrecedesP( cxPrimType typeIn, cxPrimType typeOut );

cxCoord routines:

cxCoord *cxCoordNew( long nDim, long dims[],
   long nCoordVar, cxCoordType coordType );
cxCoord *cxCoordDefaultNew( long nDim, long dims[] );
cxCoord *cxCoordDup( cxCoord *src );
cxCoordType cxCoordCoordType( cxCoord *coord );
float *cxCoordValsGet( cxCoord *coord );
void cxCoordValsSet( cxCoord *coord, float *vals );
long cxCoordNVarGet( cxCoord *coord );
void cxCoordNVarSet( cxCoord *coord, long nCoordVar );

cxPyramid routines:

cxPyramid *cxPyrNew( long nLevels);
cxPyramid *cxPyrDup( cxPyramid *src );
int cxPyrSet( cxPyramid *src, cxLattice *baseLat );
int cxPyrGet( cxPyramid *src, cxLattice **baseLat, long *count );
int cxPyrLayerSet( cxPyramid *src,
   long index,
   cxConnection *conn,
   cxLattice *lat );
int cxPyrLayerGet( cxPyramid *src,
   long index,
   cxConnection **conn,
   cxLattice **lat );

cxConnection routines:

cxConnection *cxConnNew( long numElements, long numConnections );
cxConnection *cxConnDup( cxConnection *src );
int cxConnPtrGet( cxConnection *src,
   long  *numElements,
   long  *numConnections,
   long **elements,
   long **connections );
int cxConnPtrSet( cxConnection *src,
   long   numElements,
   long   numConnections,
   long  *elements,
   long  *connections );
int cxConnEleSet( cxConnection *src,
   long   index,
   long   numConnections,
   long   connectList[] );
int cxConnEleGet( cxConnection *src,
   long   index,
   long  *numConnections,
   long **connectList );

cxGeometry routines:

cxGeometry *cxGeoNew( void );
cxGeometry *cxGeoDup( cxGeometry *src );

cxUnknown routines:

cxUnknown *cxUnkNew( long n );
cxUnknown *cxUnkDup( cxUnknown *src  );
int cxUnkGet( cxUnknown *src, long *count, char *(data[]) );
int cxUnkSet( cxUnknown *src, long count, char data[] );

The following routines perform useful functions when dealing with the cxLattice, cxData, and cxCoord data types, and when allocating vectors of data elements for them:

long cxDimsProd( long nDim, long dims[], long nVar );
long cxDimsSum( long nDim, long dims[] );
void *cxVecNew( long len, cxPrimType primType );
void cxVecDel( void *src );
void *cxVecDup( void *src, long n, cxPrimType type );

cxConnDup, cxConnEleGet, cxConnEleSet, cxConnNew, cxConnPtrGet, cxConnPtrSet, cxCoordCoordType, cxCoordDefaultNew, cxCoordDup, cxCoordNVarGet, cxCoordNVarSet, cxCoordNew, cxCoordValsGet, cxCoordValsSet, cxDataDup, cxDataNew, cxDataPrimSize, cxDataPrimType, cxDataValsGet, cxDataValsSet, cxDimsProd, cxDimsSum, cxGeoNew, cxLatCoordNew, cxLatDataNew, cxLatDescGet, cxLatDup, cxLatNew, cxLatPtrGet, cxLatPtrSet, cxLatRootDup, cxLatRootNew, cxParamDblGet, cxParamDblSet, cxParamDoubleNew, cxParamDup, cxParamLongGet, cxParamLongNew, cxParamLongSet, cxParamNew, cxParamStrGet, cxParamStrNew, cxParamStrSet, cxParamTypeGet, cxParamTypeSet, cxPyrDup, cxPyrGet, cxPyrLayerGet, cxPyrLayerSet, cxPyrNew, cxPyrSet, cxUnkDup, cxUnkGet, cxUnkNew, cxUnkSet, cxVecDel, cxVecDup, cxVecNew
[ Documentation Home ]