F5iterate.h

00001 /*
00002  $Id: F5iterate.h,v 1.17 2008/04/23 19:16:30 werner Exp $
00003 */
00004 
00005 #ifndef __F5iterate_H
00006 #define __F5iterate_H
00007 
00008 #include <F5/hdf5inc.h>
00009 #include <F5/F5P.h>
00010 #include <F5/F5F.h>
00011 #include <F5/F5parameter.h>
00012 
00013 #include "F5WinDLLApi.h"
00014 
00015 #ifdef  __cplusplus
00016 extern "C"
00017 {
00018 #endif
00019 
00020 
00049 F5_API int F5Iignore(const char*s);
00050 
00051 
00052 typedef herr_t F5_iterate_paramspace_t(F5Path*path, const F5ParameterSpace*params, void *user_data);
00053 
00057 F5_API int F5iterate_paramspace(hid_t file_id, int *idx, 
00058                                 const F5ParameterSpace*selection,
00059                                 F5_iterate_paramspace_t*callback, void *user_data ) ;
00060 
00061         
00067 typedef herr_t F5_iterate_timeslices_t(F5Path*path, double time, void *user_data);
00068 
00072 F5_API int F5iterate_timeslices(hid_t file_id, hsize_t *idx, F5_iterate_timeslices_t*callback, void *user_data ) ;
00073 
00074 
00082 typedef herr_t F5_iterate_grids_t(F5Path*F5Grid, const char*gridname, void *user_data);
00083 
00084 
00095 F5_API int F5iterate_grids(F5Path*F5Slice, int *idx, F5_iterate_grids_t*callback, void *operator_data,
00096                            F5_gridproperty_t**gridtypes, const char*coordinate_system ) ;
00097 
00098 
00107 typedef herr_t F5_iterate_topologies_t(F5Path*field, const char*topologyname,
00108                                        int index_depth,
00109                                        int topological_dimension,
00110                                        void *operator_data);
00115 F5_API int F5iterate_topologies(F5Path*grid, int *idx, F5_iterate_topologies_t*callback, void *operator_data);
00116 
00123 typedef herr_t F5_iterate_fields_t(F5Path*field, const char*fieldname, void *operator_data);
00124 
00128 typedef int F5_fieldtype_t(hid_t type_id);
00129 
00130 
00136 F5_API int F5iterate_vertex_fields(F5Path*grid, int *idx, F5_iterate_fields_t*callback, void *operator_data,
00137                                    const char*coordinate_system,
00138                                    F5_fieldtype_t*what) ;
00139 
00144 F5_API int F5iterate_topology_fields(F5Path*grid, int *idx, F5_iterate_fields_t*callback, void *operator_data,
00145                                      const char*coordinate_system, F5_fieldtype_t*what);
00146 
00147 
00148 typedef herr_t F5_iterate_grid_atlas_t(F5Path*field, const char*coordinate_name,
00149                                        hid_t global_chart_hid, hid_t domain_group_hid, 
00150                                        void *operator_data);
00151         
00152 F5_API  int F5iterate_grid_atlas(F5Path*grid, int *idx, F5_iterate_grid_atlas_t*callback, void *operator_data);
00153 
00154 
00159 F5_API  int F5has_standard_vertex_fields(F5Path*grid);
00160                 
00161 typedef herr_t F5_iterate_fields_fragments_t(F5Path*field, const char*fragmentname, void *operator_data);
00162         
00163 F5_API int F5iterate_field_fragments(F5Path*field, int *idx, F5_iterate_fields_fragments_t*callback,
00164                                      void *operator_data);
00165 
00166 
00167 
00168 
00169         
00174 typedef herr_t F5_iterate_grids_per_bundle_t(hid_t file_id, hid_t gridinfo_id, const char*gridname, void *user_data);
00175 
00179 F5_API int F5iterate_grids_per_bundle(hid_t file_id, int *idx, F5_iterate_grids_per_bundle_t*callback, void *user_data ) ;
00180 
00181 
00182 typedef herr_t F5_iterate_gridevolution_per_bundle_t(hid_t file_id, const char*gridname, double time, hid_t slice_id, void *user_data);
00183 
00187 F5_API int F5iterate_gridevolution(hid_t file_id, int *idx, F5_iterate_gridevolution_per_bundle_t*callback, void *user_data,
00188                                    F5_iterate_grids_per_bundle_t*gridinfo ) ;
00189         
00190 
00193 #ifdef  __cplusplus
00194 }    /* extern "C" */
00195 #endif
00196 
00197 #endif  /* __F5iterate_H */
00198