HEAD
../src/avsFileInit.c: ../src/avsFileSet.c: ../src/avsFileWrite.c:
#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 */