avsFile(API)
From EosPedia
DataExpress/avsFile is API.
Contents
constant
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;
UCD Format
typedef enum avsFileUCDCellType { avsFileUCDCellTypePoint =0, avsFileUCDCellTypeLine =1, avsFileUCDCellTypeTriangle =2, avsFileUCDCellTypeQuadrilateral =3, avsFileUCDCellTypeTetrahedron =4, avsFileUCDCellTypePyramid =5, avsFileUCDCellTypePrism =6, avsFileUCDCellTypeHexahedron =7 } avsFileUCDCellType;
struct
typedef int avsFileParaTypeInteger; typedef float avsFileParaTypeReal;
Field Format
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;
UCD Format
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;
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;
API
avsFileInit
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
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
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);