00001
00002
00003
00004
00005
00006
00007 #ifndef __F5R_H
00008 #define __F5R_H
00009
00010 #include <F5/F5F.h>
00011 #include <F5/F5B.h>
00012 #include <F5/F5coordinates.h>
00013
00014 #ifdef __cplusplus
00015 extern "C"
00016 {
00017 #endif
00018
00031 F5_API F5Path*F5Rcreate_cartesian(hid_t File_id, double time,
00032 const char*gridname,
00033 const char*coordinate_system);
00034
00035
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00096 F5_API F5Path*F5Rcreate_static_cartesian(hid_t File_id,
00097 const char*gridname,
00098 const char*coordinate_system);
00099
00100
00106 F5_API F5Path*F5Rcreate_coordinate_topology(hid_t File_id, const double*time,
00107 const char*gridname,
00108 const char*coordinate_system,
00109 const char*TopologyName,
00110 int IndexDepth, int SkeletonDimensionality,
00111 int Dimensionality,
00112 const hsize_t*refinement);
00113
00114
00121 F5_API F5Path*F5Rcreate_triangles_as_vertices_topology(hid_t File_id, double time, const char*gridname);
00122
00123
00124
00125
00126
00133 F5_API F5Path*F5Rcreate_edges_as_vertices_topology(hid_t File_id, double time, const char*gridname);
00134
00135
00136
00137
00138
00139
00146 F5_API F5Path*F5Rcreate_faces_as_vertices_topology(hid_t File_id, double time, const char*gridname);
00147
00148
00149
00150
00151
00158 F5_API F5Path*F5Rcreate_tetrahedrons_as_vertices_topology(hid_t File_id, double time, const char*gridname);
00159
00166 F5_API F5Path*F5Rcreate_hexaedrons_as_vertices_topology(hid_t File_id, double time, const char*gridname);
00167
00168
00169
00170
00171 F5_API void TopologyName(char*name, int nlength,
00172 const hsize_t*level, int Centering, int dims);
00173
00174
00198 F5_API F5Path*F5Rcreate_vertex_refinement3D(hid_t File_id, double time,
00199 const char*gridname,
00200 const hsize_t refinement[3],
00201 const char*coordinate_system);
00202
00209 F5_API F5Path*F5Rcreate_relative_vertex_Irefinement3D(hid_t File_id, double time,
00210 const char*gridname,
00211 const hsize_t current_refinement[3],
00212 double target_time,
00213 const hsize_t target_refinement[3]);
00214
00219 F5_API F5Path*F5Rcreate_relative_vertex_Qrefinement3D(hid_t File_id, double time,
00220 const char*gridname,
00221 const hsize_t current_refinement[3],
00222 double target_time,
00223 const hsize_t target_refinement[3]);
00224
00230 F5_API void F5Rcreate_downsampling(F5Path*Topology, const hsize_t*downsampling);
00231
00239 F5_API void F5Rcreate_subsampling (F5Path*Topology, const hsize_t*subsampling);
00240
00241
00242
00243
00244
00253 F5_API int F5Rlink_default_vertex_topology(F5Path*grid,
00254 const hsize_t target_refinement[3]);
00255
00256
00267 F5_API int F5Rset_timestep(F5Path*path, long timestep);
00268
00280 F5_API long*F5Rget_timestep(F5Path*path, long*timestep);
00281
00282 #ifdef __cplusplus
00283 }
00284 #endif
00285
00286 #endif
00287