diff --git a/src/C/H5Fed.c b/src/C/H5Fed.c index 2fb2092..029c033 100644 --- a/src/C/H5Fed.c +++ b/src/C/H5Fed.c @@ -15,19 +15,6 @@ #include "h5core/h5_core.h" #include "H5Fed.h" -h5_err_t -H5FedOpenMesh ( - h5_file_t* const f, - const h5_id_t mesh_id, - const h5_oid_t mesh_type_id - ) { - H5_API_ENTER3 (h5_err_t, - "f=0x%p, mesh_id=%lld, mesh_type_id=%d", - f, - (long long)mesh_id, - mesh_type_id); - H5_API_RETURN (h5t_open_mesh (f, mesh_id, mesh_type_id)); -} h5_err_t H5FedCloseMesh ( diff --git a/src/C/H5Fed_inquiry.c b/src/C/H5Fed_inquiry.c index b54f1bf..77dd2d9 100644 --- a/src/C/H5Fed_inquiry.c +++ b/src/C/H5Fed_inquiry.c @@ -20,22 +20,6 @@ #include "h5core/h5_core.h" #include "H5Fed.h" -/*! - Get number of meshes of given type. - - \param[in] f File handle - \param[in] type_id Type of mesh we want the number of. - - \return Number of meshes of type \c type_id or error code. - */ -h5_ssize_t -H5FedGetNumMeshes ( - h5_file_t* const f, - const h5_oid_t type_id - ) { - H5_API_ENTER2 (h5_err_t, "f=0x%p, type_id=%u", f, type_id); - H5_API_RETURN (h5t_get_num_meshes (f, type_id)); -} /*! Get the number of hierarchical mesh levels. diff --git a/src/C/H5Fed_store.c b/src/C/H5Fed_store.c index 98c387f..79ef7fc 100644 --- a/src/C/H5Fed_store.c +++ b/src/C/H5Fed_store.c @@ -17,35 +17,6 @@ #include "H5Fed.h" -/* - Depricated! Please use H5FedAddTetrahedralMesh() or H5FedAddTriangleMesh(). - */ -h5_id_t -H5FedAddMesh ( - h5_file_t* const f, - const h5_oid_t mesh_type_id - ) { - H5_API_ENTER2 (h5_id_t, "f=0x%p, mesh_type_id=%u", f, mesh_type_id); - H5_API_RETURN (h5t_add_mesh (f, mesh_type_id)); -} - -h5_id_t -H5FedAddTetrahedralMesh ( - h5_file_t* const f - ) { - const h5_oid_t mesh_type_id = H5_TETRAHEDRAL_MESH; - H5_API_ENTER2 (h5_id_t, "f=0x%p, mesh_type_id=%u", f, mesh_type_id); - H5_API_RETURN (h5t_add_mesh (f, mesh_type_id)); -} - -h5_id_t -H5FedAddTriangleMesh ( - h5_file_t* const f - ) { - const h5_oid_t mesh_type_id = H5_TRIANGLE_MESH; - H5_API_ENTER2 (h5_id_t, "f=0x%p, mesh_type_id=%u", f, mesh_type_id); - H5_API_RETURN (h5t_add_mesh (f, mesh_type_id)); -} /*! \ingroup h5fed_c_api diff --git a/src/h5core/h5_errorhandling_private.h b/src/h5core/h5_errorhandling_private.h index fac4ce4..1b706cc 100644 --- a/src/h5core/h5_errorhandling_private.h +++ b/src/h5core/h5_errorhandling_private.h @@ -34,16 +34,16 @@ (long long)idx, type, group_name ); -#define HANDLE_H5_OVERFLOW_ERR( otype, max ) \ +#define HANDLE_H5_OVERFLOW_ERR( max ) \ h5_error( \ H5_ERR_INVAL, \ - "Cannot store more than %lld %s", (long long)max, otype ); + "Cannot store more than %lld items", (long long)max ); -#define HANDLE_H5_PARENT_ID_ERR( otype, parent_id ) \ +#define HANDLE_H5_PARENT_ID_ERR( parent_id ) \ h5_error( \ H5_ERR_INVAL, \ - "Impossible parent_id %lld for %s.", \ - (long long)parent_id, otype ); + "Wrong parent_id %lld.", \ + (long long)parent_id ); #define HANDLE_H5_OUT_OF_RANGE_ERR( otype, oid ) \ h5_error( \ diff --git a/src/h5core/h5_maps.c b/src/h5core/h5_maps.c index 3b5b278..d28eab8 100644 --- a/src/h5core/h5_maps.c +++ b/src/h5core/h5_maps.c @@ -179,7 +179,7 @@ h5priv_insert_idxmap ( if (map->num_items == map->size) H5_PRIV_API_LEAVE ( HANDLE_H5_OVERFLOW_ERR ( - "g2lmap", (long long)map->size)); + (long long)map->size)); h5_loc_idx_t i = h5priv_search_idxmap (map, glb_idx); if (i >= 0) /* global id already in use ? */ diff --git a/src/h5core/h5t_consts.c b/src/h5core/h5t_consts.c index 1b8783b..49c59a9 100644 --- a/src/h5core/h5t_consts.c +++ b/src/h5core/h5t_consts.c @@ -1,30 +1,4 @@ #include "h5core/h5_core.h" #include "h5_core_private.h" -const char* -h5tpriv_oid_names[] = { - "N.N.", - "vertex", - "edge", - "triangle", - "tetrahedron" -}; -const char* -h5tpriv_meshes_grpnames[] = { - "N.N.", - "N.N.", - "N.N.", - "TriangleMeshes", - "TetMeshes" -}; - -const char* -h5tpriv_map_oid2str ( - h5_oid_t oid - ) { - if ((oid < 0) || (oid >= sizeof (h5tpriv_oid_names) / sizeof (char*))) { - return "[invalid oid]"; - } - return h5tpriv_oid_names[oid]; -} diff --git a/src/h5core/h5t_consts_private.h b/src/h5core/h5t_consts_private.h index 20563b5..5d48f76 100644 --- a/src/h5core/h5t_consts_private.h +++ b/src/h5core/h5t_consts_private.h @@ -1,9 +1,4 @@ #ifndef __H5T_CONSTS_PRIVATE_H #define __H5T_CONSTS_PRIVATE_H -extern const char * h5tpriv_oid_names[]; -extern const char * h5tpriv_meshes_grpnames[]; - -const char *h5tpriv_map_oid2str ( h5_oid_t oid ); - #endif diff --git a/src/h5core/h5t_core_private.h b/src/h5core/h5t_core_private.h index 72ab008..71e3f74 100644 --- a/src/h5core/h5t_core_private.h +++ b/src/h5core/h5t_core_private.h @@ -2,6 +2,8 @@ #define __H5T_CORE_PRIVATE_H #define H5T_CONTAINER_GRPNAME "Topo" +#define TETRAHEDRAL_MESHES_GRPNAME "TetMeshes" +#define TRIANGLE_MESHES_GRPNAME "TriangleMeshes" #include "h5t_tags_private.h" @@ -9,7 +11,6 @@ #include "h5t_access_private.h" #include "h5t_adjacencies_private.h" -#include "h5t_consts_private.h" #include "h5t_hsearch_private.h" #include "h5t_map_private.h" #include "h5t_openclose_private.h" diff --git a/src/h5core/h5t_inquiry.c b/src/h5core/h5t_inquiry.c index 5a527c1..b7d9718 100644 --- a/src/h5core/h5t_inquiry.c +++ b/src/h5core/h5t_inquiry.c @@ -9,13 +9,12 @@ \return Number of meshes of type \c type_id or error code. */ -h5_ssize_t -h5t_get_num_meshes ( +static inline h5_ssize_t +get_num_meshes ( h5_file_t* const f, - const h5_oid_t type_id + const char* grpname ) { - H5_CORE_API_ENTER2 (h5_ssize_t, - "f=0x%p, type_id=%d", f, type_id); + H5_PRIV_FUNC_ENTER (h5_ssize_t); hid_t topo_gid = -1; hid_t meshes_gid = -1; @@ -25,10 +24,10 @@ h5t_get_num_meshes ( TRY (topo_gid = hdf5_open_group (f->root_gid, H5T_CONTAINER_GRPNAME)); - TRY (exists = hdf5_link_exists (topo_gid, h5tpriv_meshes_grpnames[type_id])); + TRY (exists = hdf5_link_exists (topo_gid, grpname)); if (!exists) H5_CORE_API_LEAVE (0); - TRY (meshes_gid = hdf5_open_group (topo_gid, h5tpriv_meshes_grpnames[type_id])); + TRY (meshes_gid = hdf5_open_group (topo_gid, grpname)); h5_ssize_t num_meshes; TRY (num_meshes = hdf5_get_num_groups (meshes_gid)); TRY (hdf5_close_group (meshes_gid) ); @@ -37,6 +36,22 @@ h5t_get_num_meshes ( H5_CORE_API_RETURN (num_meshes); } +h5_ssize_t +h5t_get_num_tetmeshes ( + h5_file_t* const f + ) { + H5_CORE_API_ENTER1 (h5_ssize_t, "f=0x%p", f); + H5_CORE_API_RETURN (get_num_meshes (f, TETRAHEDRAL_MESHES_GRPNAME)); +} + +h5_ssize_t +h5t_get_num_trimeshes ( + h5_file_t* const f + ) { + H5_CORE_API_ENTER1 (h5_ssize_t, "f=0x%p", f); + H5_CORE_API_RETURN (get_num_meshes (f, TRIANGLE_MESHES_GRPNAME)); +} + /*! Get the number of hierarchical mesh levels for the current mesh. diff --git a/src/h5core/h5t_openclose.c b/src/h5core/h5t_openclose.c index 0593391..d1f2272 100644 --- a/src/h5core/h5t_openclose.c +++ b/src/h5core/h5t_openclose.c @@ -363,55 +363,88 @@ h5tpriv_close_step ( } -h5_err_t -h5tpriv_open_topo_group ( +static inline h5_err_t +open_topo_group ( h5_file_t * const f ) { - H5_PRIV_API_ENTER1 (h5_err_t, "f=0x%p", f); h5t_fdata_t* t = f->t; if (t->topo_gid == 0 || t->topo_gid == -1) { - TRY (t->topo_gid = h5priv_open_group (f, f->root_gid, H5T_CONTAINER_GRPNAME)); + return (t->topo_gid = h5priv_open_group (f, f->root_gid, H5T_CONTAINER_GRPNAME)); } - H5_PRIV_API_RETURN (t->topo_gid); + return (t->topo_gid); } -h5_err_t -h5tpriv_open_meshes_group ( - h5_file_t* const f, - const h5_oid_t type_id +static inline h5_err_t +open_tetmeshes_group ( + h5_file_t* const f ) { - H5_PRIV_API_ENTER2 (h5_err_t, "f=0x%p, type_id=%d", f, type_id); + H5_PRIV_FUNC_ENTER (h5_err_t); h5t_fdata_t* t = f->t; if (t->topo_gid < 0) { - TRY (h5tpriv_open_topo_group (f)); + TRY (open_topo_group (f)); } TRY (t->meshes_gid = h5priv_open_group ( f, t->topo_gid, - h5tpriv_meshes_grpnames[type_id])); - t->mesh_type = type_id; + TETRAHEDRAL_MESHES_GRPNAME)); + t->mesh_type = H5_OID_TETRAHEDRON; + H5_PRIV_FUNC_RETURN (H5_SUCCESS); +} - H5_PRIV_API_RETURN (H5_SUCCESS); +static inline h5_err_t +open_trimeshes_group ( + h5_file_t* const f + ) { + H5_PRIV_FUNC_ENTER (h5_err_t); + h5t_fdata_t* t = f->t; + + if (t->topo_gid < 0) { + TRY (open_topo_group (f)); + } + TRY (t->meshes_gid = h5priv_open_group ( + f, + t->topo_gid, + TRIANGLE_MESHES_GRPNAME)); + t->mesh_type = H5_OID_TRIANGLE; + H5_PRIV_FUNC_RETURN (H5_SUCCESS); } /* Open HDF5 group with specific mesh */ -h5_err_t -h5tpriv_open_mesh_group ( +static inline h5_err_t +open_tetmesh_group ( h5_file_t* const f, - const h5_oid_t type_id, const h5_id_t id ) { - H5_PRIV_API_ENTER3 (h5_err_t, - "f=0x%p, type_id=%d, id=%lld", - f, type_id, (long long)id); + H5_PRIV_FUNC_ENTER (h5_err_t); h5t_fdata_t* t = f->t; if (t->meshes_gid < 0) { - TRY (h5tpriv_open_meshes_group (f, type_id)); + TRY (open_tetmeshes_group (f)); + } + snprintf (t->mesh_name, sizeof (t->mesh_name), "%lld", (long long)id); + + TRY (t->mesh_gid = h5priv_open_group ( + f, + t->meshes_gid, + t->mesh_name)); + t->cur_mesh = id; + H5_PRIV_API_RETURN (H5_SUCCESS); +} + +static inline h5_err_t +open_trimesh_group ( + h5_file_t* const f, + const h5_id_t id + ) { + H5_PRIV_FUNC_ENTER (h5_err_t); + h5t_fdata_t* t = f->t; + + if (t->meshes_gid < 0) { + TRY (open_trimeshes_group (f)); } snprintf (t->mesh_name, sizeof (t->mesh_name), "%lld", (long long)id); @@ -427,55 +460,68 @@ h5tpriv_open_mesh_group ( If the value of parameter \c id is \c -1, a new mesh will be appended. */ h5_err_t -h5t_open_mesh ( +h5t_open_tetrahedral_mesh ( h5_file_t* const f, - h5_id_t id, - const h5_oid_t type_id + h5_id_t id ) { - H5_CORE_API_ENTER3 (h5_err_t, - "f=0x%p, id=%lld, type_id=%u", - f, (long long)id, type_id); + H5_CORE_API_ENTER2 (h5_err_t, "f=0x%p, id=%lld", f, (long long)id); h5t_fdata_t* t = f->t; TRY (h5t_close_mesh (f)); if (t->num_meshes < 0) { - h5_size_t result = h5t_get_num_meshes (f, type_id); + h5_size_t result = h5t_get_num_tetmeshes (f); t->num_meshes = (result > 0 ? result : 0); } if ((id < -1) || (id >= t->num_meshes)) { H5_CORE_API_LEAVE (HANDLE_H5_OUT_OF_RANGE_ERR ("mesh", id)); } - if (id == -1) { /* append new mesh */ + t->dsinfo_elems.type_id = t->dtypes.h5_tet_t; + t->methods = tet_funcs; + t->ref_elem = &h5t_tet_ref_elem; + TRY (open_tetmesh_group (f, id)); + + if (id == -1) { // append new id = t->num_meshes; - } - switch (type_id) { - case H5_OID_TETRAHEDRON: - t->dsinfo_elems.type_id = t->dtypes.h5_tet_t; - t->methods = tet_funcs; - t->ref_elem = &h5t_tet_ref_elem; - break; - case H5_OID_TRIANGLE: - t->dsinfo_elems.type_id = t->dtypes.h5_triangle_t; - t->methods = tri_funcs; - t->ref_elem = &h5t_tri_ref_elem; - break; - default: - H5_CORE_API_LEAVE ( - h5_error_internal ()); - } - - TRY (h5tpriv_open_mesh_group (f, type_id, id)); - - if (id != t->num_meshes) { /* open existing */ - TRY (h5tpriv_read_mesh (f)); - - } else { /* append new */ t->num_meshes++; t->mesh_changed = id; t->num_leaf_levels = 0; + } else { // read existing + TRY (h5tpriv_read_mesh (f)); } + H5_CORE_API_RETURN (H5_SUCCESS); +} +h5_err_t +h5t_open_triangle_mesh ( + h5_file_t* const f, + h5_id_t id + ) { + H5_CORE_API_ENTER2 (h5_err_t, "f=0x%p, id=%lld", f, (long long)id); + h5t_fdata_t* t = f->t; + + TRY (h5t_close_mesh (f)); + + if (t->num_meshes < 0) { + h5_size_t result = h5t_get_num_trimeshes (f); + t->num_meshes = (result > 0 ? result : 0); + } + if ((id < -1) || (id >= t->num_meshes)) { + H5_CORE_API_LEAVE (HANDLE_H5_OUT_OF_RANGE_ERR ("mesh", id)); + } + t->dsinfo_elems.type_id = t->dtypes.h5_triangle_t; + t->methods = tri_funcs; + t->ref_elem = &h5t_tri_ref_elem; + TRY (open_trimesh_group (f, id)); + + if (id == -1) { // append new + id = t->num_meshes; + t->num_meshes++; + t->mesh_changed = id; + t->num_leaf_levels = 0; + } else { // read existing + TRY (h5tpriv_read_mesh (f)); + } H5_CORE_API_RETURN (H5_SUCCESS); } diff --git a/src/h5core/h5t_openclose_private.h b/src/h5core/h5t_openclose_private.h index 441a4b3..935b495 100644 --- a/src/h5core/h5t_openclose_private.h +++ b/src/h5core/h5t_openclose_private.h @@ -10,21 +10,6 @@ h5tpriv_close_file ( h5_file_t * const f ); h5_err_t -h5tpriv_open_topo_group ( - h5_file_t * const f - ); -h5_err_t -h5tpriv_open_meshes_group ( - h5_file_t * const f, - const h5_oid_t - ); -h5_err_t -h5tpriv_open_mesh_group ( - h5_file_t * const f, - const h5_oid_t, - const h5_id_t - ); -h5_err_t h5tpriv_close_step ( h5_file_t * const f ); diff --git a/src/h5core/h5t_store.c b/src/h5core/h5t_store.c index 5ebea93..f257f9d 100644 --- a/src/h5core/h5t_store.c +++ b/src/h5core/h5t_store.c @@ -9,22 +9,31 @@ \return mesh id */ h5_id_t -h5t_add_mesh ( - h5_file_t* const f, - const h5_oid_t mesh_type +h5t_add_tetrahedral_mesh ( + h5_file_t* const f ) { - H5_CORE_API_ENTER2 (h5_id_t, - "f=0x%p, mesh_type=%d", f, mesh_type); + H5_CORE_API_ENTER1 (h5_id_t, "f=0x%p", f); h5_id_t mesh_id = 0; - TRY (mesh_id = h5t_open_mesh (f, -1, mesh_type)); + TRY (mesh_id = h5t_open_tetrahedral_mesh (f, -1)); + TRY (h5t_add_level (f)); + f->t->mesh_changed = 1; + H5_CORE_API_RETURN (mesh_id); +} + +h5_id_t +h5t_add_triangle_mesh ( + h5_file_t* const f + ) { + H5_CORE_API_ENTER1 (h5_id_t, "f=0x%p", f); + h5_id_t mesh_id = 0; + TRY (mesh_id = h5t_open_triangle_mesh (f, -1)); TRY (h5t_add_level (f)); f->t->mesh_changed = 1; H5_CORE_API_RETURN (mesh_id); } /* - - * Assign unique global indices to vertices. + Assign unique global indices to vertices. */ static h5_err_t assign_global_vertex_indices ( @@ -154,7 +163,7 @@ h5t_store_vertex ( */ if (t->last_stored_vid+1 >= t->num_vertices[t->leaf_level]) H5_CORE_API_LEAVE (HANDLE_H5_OVERFLOW_ERR( - "vertex", t->num_vertices[t->leaf_level])); + t->num_vertices[t->leaf_level])); /* missing call to add the first level @@ -245,9 +254,7 @@ h5t_store_elem ( /* more than allocated? */ if ( t->last_stored_eid+1 >= t->num_elems[t->leaf_level] ) H5_CORE_API_LEAVE ( - HANDLE_H5_OVERFLOW_ERR( - h5tpriv_map_oid2str(t->mesh_type), - t->num_elems[t->leaf_level])); + HANDLE_H5_OVERFLOW_ERR (t->num_elems[t->leaf_level])); /* check parent id */ if ((t->leaf_level == 0 && parent_idx != -1) || @@ -256,8 +263,7 @@ h5t_store_elem ( && parent_idx >= t->num_elems[t->leaf_level-1]) ) { H5_CORE_API_LEAVE ( - HANDLE_H5_PARENT_ID_ERR ( - h5tpriv_map_oid2str (t->mesh_type), parent_idx)); + HANDLE_H5_PARENT_ID_ERR (parent_idx)); } /* store elem data (but neighbors) */ diff --git a/src/include/H5Fed.h b/src/include/H5Fed.h index b0dea4e..7c11000 100644 --- a/src/include/H5Fed.h +++ b/src/include/H5Fed.h @@ -31,12 +31,23 @@ extern "C" { /****** General routines *****************************************************/ -h5_err_t -H5FedOpenMesh ( - h5_file_t * const f, - const h5_id_t mesh_id, - const h5_oid_t mesh_type_id - ); +static inline h5_err_t +H5FedOpenTetrahedralMesh ( + h5_file_t* const f, + const h5_id_t mesh_id + ) { + H5_API_ENTER2 (h5_err_t, "f=0x%p, mesh_id=%lld", f, (long long)mesh_id); + H5_API_RETURN (h5t_open_tetrahedral_mesh (f, mesh_id)); +} + +static inline h5_err_t +H5FedOpenTriangleMesh ( + h5_file_t* const f, + const h5_id_t mesh_id + ) { + H5_API_ENTER2 (h5_err_t, "f=0x%p, mesh_id=%lld", f, (long long)mesh_id); + H5_API_RETURN (h5t_open_triangle_mesh (f, mesh_id)); +} h5_err_t H5FedCloseMesh ( diff --git a/src/include/H5Fed_inquiry.h b/src/include/H5Fed_inquiry.h index 46b29df..9db9e33 100644 --- a/src/include/H5Fed_inquiry.h +++ b/src/include/H5Fed_inquiry.h @@ -22,7 +22,30 @@ extern "C" { #endif -h5_ssize_t H5FedGetNumMeshes ( h5_file_t * const f, const h5_oid_t type_id ); +/*! + Get number of meshes of given type. + + \param[in] f File handle + \param[in] type_id Type of mesh we want the number of. + + \return Number of meshes of type \c type_id or error code. + */ +static inline h5_ssize_t +H5FedGetNumTetrahedralMeshes ( + h5_file_t* const f + ) { + H5_API_ENTER1 (h5_err_t, "f=0x%p", f); + H5_API_RETURN (h5t_get_num_tetmeshes (f)); +} + +static inline h5_ssize_t +H5FedGetNumTriangleMeshes ( + h5_file_t* const f + ) { + H5_API_ENTER1 (h5_err_t, "f=0x%p", f); + H5_API_RETURN (h5t_get_num_trimeshes (f)); +} + h5_ssize_t H5FedGetNumLevels ( h5_file_t * const f ); h5t_lvl_idx_t H5FedGetLevel ( h5_file_t * const f ); h5_ssize_t H5FedGetNumVertices ( h5_file_t * const f ); diff --git a/src/include/H5Fed_store.h b/src/include/H5Fed_store.h index 7ef8a09..c7073a9 100644 --- a/src/include/H5Fed_store.h +++ b/src/include/H5Fed_store.h @@ -23,22 +23,21 @@ extern "C" { #endif -/* depricated! use explicit versions */ -h5_id_t -H5FedAddMesh ( - h5_file_t * const f, - const h5_oid_t mesh_type_id - ); - -h5_id_t +static inline h5_id_t H5FedAddTetrahedralMesh ( - h5_file_t * const f - ); + h5_file_t* const f + ) { + H5_API_ENTER1 (h5_id_t, "f=0x%p", f); + H5_API_RETURN (h5t_add_tetrahedral_mesh (f)); +} -h5_id_t +static inline h5_id_t H5FedAddTriangleMesh ( - h5_file_t * const f - ); + h5_file_t* const f + ) { + H5_API_ENTER1 (h5_id_t, "f=0x%p", f); + H5_API_RETURN (h5t_add_triangle_mesh (f)); +} h5t_lvl_idx_t H5FedAddLevel ( diff --git a/src/include/h5core/h5t_inquiry.h b/src/include/h5core/h5t_inquiry.h index 2e45d0c..83c8d26 100644 --- a/src/include/h5core/h5t_inquiry.h +++ b/src/include/h5core/h5t_inquiry.h @@ -2,9 +2,13 @@ #define __H5T_INQUIRY_H h5_ssize_t -h5t_get_num_meshes ( - h5_file_t * const f, - const enum h5_oid type +h5t_get_num_tetmeshes ( + h5_file_t * const f + ); + +h5_ssize_t +h5t_get_num_trimeshes ( + h5_file_t * const f ); h5_ssize_t diff --git a/src/include/h5core/h5t_openclose.h b/src/include/h5core/h5t_openclose.h index 1d2edb0..8cefac1 100644 --- a/src/include/h5core/h5t_openclose.h +++ b/src/include/h5core/h5t_openclose.h @@ -1,11 +1,16 @@ #ifndef __H5T_OPENCLOSE_H #define __H5T_OPENCLOSE_H -h5_err_t h5t_open_mesh ( +h5_err_t h5t_open_tetrahedral_mesh ( h5_file_t * const f, - const h5_id_t id, - const h5_oid_t type + const h5_id_t id ); + +h5_err_t h5t_open_triangle_mesh ( + h5_file_t * const f, + const h5_id_t id + ); + h5_err_t h5t_set_level ( h5_file_t * const f, const h5t_lvl_idx_t id diff --git a/src/include/h5core/h5t_storemesh.h b/src/include/h5core/h5t_storemesh.h index 918343e..d96bb98 100644 --- a/src/include/h5core/h5t_storemesh.h +++ b/src/include/h5core/h5t_storemesh.h @@ -2,9 +2,13 @@ #define __H5T_STOREMESH_H h5_id_t -h5t_add_mesh ( - h5_file_t * const f, - const h5_oid_t mesh_type +h5t_add_tetrahedral_mesh ( + h5_file_t * const f + ); + +h5_id_t +h5t_add_triangle_mesh ( + h5_file_t * const f ); h5t_lvl_idx_t