00001 #ifndef __F5_Bundle_h
00002 #define __F5_Bundle_h
00003
00004 #include <F5/hdf5inc.h>
00005 #include <F5/F5types.h>
00006 #include <F5/F5Bchart.h>
00007 #include <F5/F5F.h>
00008
00009 #include <time.h>
00010
00011 #include "F5WinDLLApi.h"
00012
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif
00016
00019 extern const char*F5_default_time_attrib_names[];
00020
00021 typedef enum
00022 {
00024 UNSPECIFIED,
00026 UNITLESS,
00027 NANOSECONDS,
00028 MICROSECONDS,
00029 MILLISECONDS,
00030 SECONDS,
00031 MINUTES,
00032 HOURS,
00033 DAYS,
00034 YEARS,
00035 MEGAYEARS,
00036 ELECTRONVOLTS,
00037
00039 METRES
00040
00041 } F5_TimeSemantics;
00042
00043
00044 struct _F5_TimeParameter
00045 {
00047 double value;
00048
00050 time_t offset;
00051
00053 time_t datetime;
00054
00056 F5_TimeSemantics TimeSemantics;
00057
00061 char *comment;
00062
00063 };
00064
00065 typedef struct _F5_TimeParameter F5_TimeParameter;
00066
00074 F5_API F5_TimeParameter*F5BnewTimeParameter(void);
00075
00083 F5_API void F5deleteTimeParameter(F5_TimeParameter**);
00084
00092 F5_API int F5setTimeUnit(hid_t file_id, const F5_TimeParameter*);
00093
00097 F5_API int F5getTimeUnit(hid_t file_id, F5_TimeParameter*);
00098
00105 F5_API hid_t F5Bappend_timeslice(hid_t file_id, const F5_TimeParameter*time);
00106
00117 F5_API hid_t F5Bappend_slice(hid_t file_id, const double*time);
00118
00130 F5_API F5Path*F5Binitialize_path(hid_t File_id);
00131
00132
00137 F5_API hid_t F5BgetMostRecentSlice(double*t, hid_t FileID,
00138 const char**time_attrib_names);
00139
00143 F5_API hid_t F5BgetMostRecentFileSlice(double t, const char*filename);
00144
00148 F5_API hid_t F5BgetGridVertexData(hid_t SliceID,
00149 const char*gridname,
00150 const char*chartname,
00151 const char*fieldname);
00152
00153
00154
00174 F5_API void F5Bswap_dims (int dimensions, const hsize_t* in, hsize_t* out);
00175
00176 #ifdef __cplusplus
00177 }
00178 #endif
00179
00180
00181 #endif