Information from source codes
../src/avsFileInit.c:
../src/avsFileSet.c:
../src/avsFileWrite.c:
avsFile.h
#ifndef AVS_FILE_H
#define AVS_FILE_H
#include
/* struct begin */
typedef int avsFileParaTypeInteger;
typedef float avsFileParaTypeReal;
/* struct end */
/* constant begin */
typedef enum avsFileType {
avsFileTypeField=0,
avsFileTypeUCD=1
} avsFileType;
/*
Field Format
*/
typedef enum avsFileFieldDataType {
avsFileFieldDataTypeByte = 0,
avsFileFieldDataTypeShort = 1,
avsFileFieldDataTypeFloat = 2,
avsFileFieldDataTypeInteger = 3,
avsFileFieldDataTypeDouble = 4
} avsFileFieldDataType;
typedef enum avsFileFieldType {
avsFileFieldTypeUniform = 0,
avsFileFieldTypeRectilinear = 1,
avsFileFieldTypeIrregular = 2
} avsFileFieldType;
/* constant end */
/* struct begin */
typedef struct avsFileField {
avsFileParaTypeInteger ndim;
avsFileParaTypeInteger dim1;
avsFileParaTypeInteger dim2;
avsFileParaTypeInteger dim3;
avsFileParaTypeInteger nspace;
avsFileParaTypeInteger veclen;
avsFileFieldDataType dataType;
avsFileFieldType type;
char** Label;
void* Image;
float** Coord;
} avsFileField;
/* struct end */
/*
UCD Format
*/
/* struct begin */
typedef struct avsFileUCDComponentData {
avsFileParaTypeReal* data;
} avsFileUCDComponentData;
typedef struct avsFileUCDComponent {
char* Label;
char* Unit;
avsFileParaTypeInteger nElement;
} avsFileUCDComponent;
typedef struct avsFileUCDNode {
avsFileParaTypeInteger ID;
avsFileParaTypeReal x;
avsFileParaTypeReal y;
avsFileParaTypeReal z;
avsFileUCDComponentData* Component;
} avsFileUCDNode;
/* struct end */
/* constant begin */
typedef enum avsFileUCDCellType {
avsFileUCDCellTypePoint =0,
avsFileUCDCellTypeLine =1,
avsFileUCDCellTypeTriangle =2,
avsFileUCDCellTypeQuadrilateral =3,
avsFileUCDCellTypeTetrahedron =4,
avsFileUCDCellTypePyramid =5,
avsFileUCDCellTypePrism =6,
avsFileUCDCellTypeHexahedron =7
} avsFileUCDCellType;
/* constant end */
/* struct begin */
typedef struct avsFileUCDCell {
avsFileParaTypeInteger ID;
avsFileParaTypeInteger MaterialID;
avsFileUCDCellType Type;
avsFileUCDNode** Node;
avsFileUCDComponentData* Component;
} avsFileUCDCell;
typedef struct avsFileUCD {
/* Node */
avsFileParaTypeInteger nNode;
avsFileUCDNode* Node;
avsFileParaTypeInteger nNodeComponent;
avsFileUCDComponent* NodeComponent;
/* Cell */
avsFileParaTypeInteger nCell;
avsFileUCDCell* Cell;
avsFileParaTypeInteger nCellComponent;
avsFileUCDComponent* CellComponent;
/* Model */
avsFileParaTypeInteger nModel;
} avsFileUCD;
typedef struct avsFile {
avsFileType FileType;
avsFileField field;
avsFileUCD UCD;
} avsFile;
/* constant end */
#ifdef __cplusplus
extern "C" {
#endif
/* prototype begin */
/* avsFileInit.c */
extern void avsFileInit(avsFile* avs, long mode);
extern void avsFileFieldInit(avsFileField* avs, long mode);
extern void avsFileUCDInit(avsFileUCD* avs, long mode);
extern void avsFileUCDGlobalInit(avsFileUCD* avs, long mode);
extern void avsFileUCDNodeComponentInit(avsFileUCD* avs, int ID, int nElement, char* Label, char* Unit, long mode);
extern void avsFileUCDCellComponentInit(avsFileUCD* avs, int ID, int nElement, char* Label, char* Unit, long mode);
/* avsFileWrite.c */
extern void avsFileWrite(avsFile* avs, FILE* fpt, long mode);
extern void avsFileUCDWrite(avsFileUCD* avs, FILE* fpt, long mode);
extern void avsFileFieldWrite(avsFileField* avs, FILE* fpt, long mode);
/* avsFileSet.c */
extern void avsFileUCDNodeSet(avsFileUCD* avs,
avsFileParaTypeInteger NodeID,
avsFileParaTypeReal x,
avsFileParaTypeReal y,
avsFileParaTypeReal z);
extern void avsFileUCDNodeDataSet(avsFileUCD* avs,
avsFileParaTypeInteger NodeID,
avsFileParaTypeInteger indexComponent,
avsFileParaTypeInteger indexElement,
double data);
extern void
avsFileUCDLineTypeCellSet(avsFileUCD* avs,
avsFileParaTypeInteger CellID,
avsFileParaTypeInteger MaterialID,
avsFileUCDNode* NodeID0,
avsFileUCDNode* NodeID1);
extern void
avsFileUCDCellDataSet(avsFileUCD* avs,
avsFileParaTypeInteger CellID,
avsFileParaTypeInteger indexComponent,
avsFileParaTypeInteger indexElement,
double data);
/* prototype end */
#ifdef __cplusplus
};
#endif
#endif /* AVS_FILE_H */