From 0edf356fb417fb7df26ea206f16a3884504b571d Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 6 May 2010 11:49:38 +0000 Subject: [PATCH] - Use new travere/iterate functions - Use new H5FedGetVertexIndicesOfXXX() functions --- test/H5Fed/tetmesh_adjacencies.c | 18 +++---- test/H5Fed/tetmesh_read.c | 6 +-- test/H5Fed/tetmesh_read_tags.c | 2 +- test/H5Fed/trimesh_read.c | 84 +++++++++++++++++--------------- 4 files changed, 58 insertions(+), 52 deletions(-) diff --git a/test/H5Fed/tetmesh_adjacencies.c b/test/H5Fed/tetmesh_adjacencies.c index 2ffcc85..99e3cba 100644 --- a/test/H5Fed/tetmesh_adjacencies.c +++ b/test/H5Fed/tetmesh_adjacencies.c @@ -57,7 +57,7 @@ print_adjacencies_of_vertex ( *v = '\0'; } if ( i < uadj_edges->num_items ) { - H5FedLMapEdgeID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_edges->items[i], local_vids ); snprintf ( k, sizeof(k), "=[%lld,%lld]=", local_vids[0], local_vids[1] ); @@ -65,7 +65,7 @@ print_adjacencies_of_vertex ( *k = '\0'; } if ( i < uadj_triangles->num_items ) { - H5FedLMapTriangleID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_triangles->items[i], local_vids ); snprintf ( d, sizeof(d), "=[%lld,%lld,%lld]=", local_vids[0], local_vids[1], local_vids[2] ); @@ -73,7 +73,7 @@ print_adjacencies_of_vertex ( *d = '\0'; } if ( i < uadj_tets->num_items ) { - H5FedLMapTetID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_tets->items[i], local_vids ); snprintf ( t, sizeof(t), "=[%lld,%lld,%lld,%lld]=", local_vids[0], local_vids[1], @@ -126,7 +126,7 @@ print_adjacencies_of_edge ( *k = '\0'; } if ( i < uadj_triangles->num_items ) { - H5FedLMapTriangleID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_triangles->items[i], local_vids ); snprintf ( d, sizeof(d), "=[%lld,%lld,%lld]=", local_vids[0], local_vids[1], local_vids[2] ); @@ -134,7 +134,7 @@ print_adjacencies_of_edge ( *d = '\0'; } if ( i < uadj_tets->num_items ) { - H5FedLMapTetID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_tets->items[i], local_vids ); snprintf ( t, sizeof(t), "=[%lld,%lld,%lld,%lld]=", local_vids[0], local_vids[1], @@ -181,7 +181,7 @@ print_adjacencies_of_triangle ( *v = '\0'; } if ( i < dadj_edges->num_items ) { - H5FedLMapEdgeID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, dadj_edges->items[i], local_vids ); snprintf ( k, sizeof(k), "=[%lld,%lld]=", local_vids[0], local_vids[1] ); @@ -194,7 +194,7 @@ print_adjacencies_of_triangle ( *d = '\0'; } if ( i < uadj_tets->num_items ) { - H5FedLMapTetID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, uadj_tets->items[i], local_vids ); snprintf ( t, sizeof(t), "=[%lld,%lld,%lld,%lld]=", local_vids[0], local_vids[1], @@ -241,7 +241,7 @@ print_adjacencies_of_tet ( *v = '\0'; } if ( i < dadj_edges->num_items ) { - H5FedLMapEdgeID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, dadj_edges->items[i], local_vids ); snprintf ( k, sizeof(k), "=[%lld,%lld]=", local_vids[0], local_vids[1] ); @@ -249,7 +249,7 @@ print_adjacencies_of_tet ( *k = '\0'; } if ( i < dadj_triangles->num_items ) { - H5FedLMapTriangleID2VertexIDs ( + H5FedGetVertexIndicesOfEntity ( f, dadj_triangles->items[i], local_vids ); snprintf ( d, sizeof(d), "=[%lld,%lld,%lld]=", local_vids[0], local_vids[1], local_vids[2] ); diff --git a/test/H5Fed/tetmesh_read.c b/test/H5Fed/tetmesh_read.c index 078c36d..133b1cb 100644 --- a/test/H5Fed/tetmesh_read.c +++ b/test/H5Fed/tetmesh_read.c @@ -68,7 +68,7 @@ traverse_edges ( char k[256]; h5_id_t local_vids[4]; snprintf ( k, sizeof(k), "=%llx=", local_id ); - H5FedLMapEdgeID2VertexIDs ( f, local_id, local_vids ); + H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids ); snprintf ( v, sizeof(v), "=[%lld,%lld]=", local_vids[0], local_vids[1] ); printf ( "| %-18s | %-18s |\n", k, v ); @@ -89,7 +89,7 @@ traverse_triangles ( char d[256]; h5_id_t local_vids[4]; snprintf ( d, sizeof(d), "=%llx=", local_id ); - H5FedLMapTriangleID2VertexIDs ( f, local_id, local_vids ); + H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids ); snprintf ( v, sizeof(v), "=[%lld,%lld,%lld]=", local_vids[0], local_vids[1], local_vids[2] ); printf ( "| %-18s | %-18s |\n", d, v ); @@ -114,7 +114,7 @@ traverse_tets ( char t[256]; h5_id_t local_vids[4]; snprintf ( t, sizeof(t), "=%llx=", local_id ); - H5FedLMapTetID2VertexIDs ( f, local_id, local_vids ); + H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids ); snprintf ( v, sizeof(v), "=[%lld,%lld,%lld,%lld]=", local_vids[0], local_vids[1], local_vids[2],local_vids[3] ); printf ( "| %-18s | %-18s |\n", t, v ); diff --git a/test/H5Fed/tetmesh_read_tags.c b/test/H5Fed/tetmesh_read_tags.c index a61a5e2..2b7b672 100644 --- a/test/H5Fed/tetmesh_read_tags.c +++ b/test/H5Fed/tetmesh_read_tags.c @@ -66,7 +66,7 @@ traverse_edges ( h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1); while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) { h5_id_t local_vids[4]; - H5FedLMapEdgeID2VertexIDs ( f, local_id, local_vids ); + H5FedGetVertexIndicesOfEntity( f, local_id, local_vids ); size_t size; h5_int64_t retval[3]; H5FedGetMTag ( f, "testtag", local_id, &size, retval ); diff --git a/test/H5Fed/trimesh_read.c b/test/H5Fed/trimesh_read.c index cac107b..7b3d01f 100644 --- a/test/H5Fed/trimesh_read.c +++ b/test/H5Fed/trimesh_read.c @@ -23,74 +23,80 @@ struct entity { }; typedef struct entity entity_t; -h5_err_t -read_vertices ( +static h5_err_t +traverse_vertices ( h5_file_t * f ) { - h5_id_t id, local_id; + h5_id_t vertex_id; h5_float64_t P[3]; h5_size_t real_num = 0; + h5t_entity_iterator_t* iter; - h5_id_t level_id = H5FedGetLevel ( f ); - h5_size_t num = H5FedGetNumVertices ( f ); - printf ( " Number of vertices on level %lld: %lld\n", level_id, num ); - h5_err_t h5err = H5FedBeginTraverseVertices ( f ); - if ( h5err < 0 ) return h5err; - while ( (real_num < num) && - ((local_id = H5FedTraverseVertices ( f, &id, P )) >= 0) ) { - printf ( " Vertex[%lld]: local id: %lld, coords: %f %f %f \n", - id, local_id, P[0], P[1], P[2] ); + h5_size_t num = H5FedGetNumVerticesTotal (f); + printf (" Number of vertices on level: %lld\n", num); + + iter = H5FedBeginTraverseEntities (f, 2); + while ((real_num < num) && + ((vertex_id = H5FedTraverseEntities (f, iter)) >= 0)) { + H5FedGetVertexCoordByID (f, vertex_id, P); + char v[256]; + snprintf (v, sizeof(v), "=%llx=", vertex_id); + printf ("| %-18s | (%f, %f, %f) |\n", + v, P[0], P[1], P[2]); real_num++; } - if ( real_num != num ) { - fprintf ( stderr, "!!! Got %lld vertices, but expected %lld.\n", - real_num, num ); - return -1; + H5FedEndTraverseEntities (f, iter); + + if (real_num != num) { + fprintf (stderr, "!!! Got %lld vertices, but expected %lld.\n", + real_num, num); + exit (1); } return H5_SUCCESS; } -h5_err_t -read_entities ( +static h5_err_t +traverse_elems ( h5_file_t * f ) { - h5_id_t id, local_id, parent_id, vids[4]; + h5_id_t local_id; h5_size_t real_num = 0; - h5_id_t level_id = H5FedGetLevel ( f ); - h5_size_t num = H5FedGetNumElements ( f ); - printf ( " Number of triangles on level %lld: %lld\n", level_id, num ); - - h5_err_t h5err = H5FedBeginTraverseElements ( f ); - if ( h5err < 0 ) return h5err; + h5_size_t num = H5FedGetNumElementsTotal ( f ); + printf ( " Number of tetrahedra on level: %lld\n", num ); + h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0); while ( (real_num < num) && - ((local_id = H5FedTraverseElements ( - f, &id, &parent_id, vids )) >= 0) ) { - printf ( - " entitiy[%lld]: local id: %lld, parent id: %lld, " - "vids: %lld %lld %lld\n", - id, local_id, parent_id, vids[0], vids[1], vids[2] ); + ((local_id = H5FedTraverseEntities ( f, iter )) >= 0) ) { + char v[256]; + char t[256]; + h5_id_t local_vids[4]; + snprintf ( t, sizeof(t), "=%llx=", local_id ); + H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids ); + snprintf (v, sizeof(v), "=[%lld,%lld,%lld]=", + local_vids[0], local_vids[1], local_vids[2]); + printf ( "| %-18s | %-18s |\n", t, v ); real_num++; } + H5FedEndTraverseEntities (f, iter); if ( real_num != num ) { fprintf ( stderr, "!!! Got %lld tets, but expected %lld.\n", real_num, num ); - return -1; + exit(1); } return H5_SUCCESS; } h5_err_t -read_level ( - h5_file_t * f +traverse_level ( + h5_file_t* const f ) { - h5_err_t h5err = read_vertices ( f ); + h5_err_t h5err = traverse_vertices (f); if ( h5err < 0 ) { fprintf ( stderr, "!!! Oops ...\n" ); return -1; } - h5err = read_entities ( f ); + h5err = traverse_elems (f); if ( h5err < 0 ) { fprintf ( stderr, "!!! Oops ...\n" ); return -1; @@ -99,7 +105,7 @@ read_level ( } h5_err_t -read_mesh ( +traverse_mesh ( h5_file_t * f ) { @@ -117,7 +123,7 @@ read_mesh ( fprintf ( stderr, "!!! Can't set level %lld.\n", level_id ); return -1; } - h5err = read_level ( f ); + h5err = traverse_level ( f ); if ( h5err < 0 ) { fprintf ( stderr, "!!! Oops ...\n" ); return -1; @@ -152,7 +158,7 @@ main ( fprintf ( stderr, "!!! Can't open mesh %lld\n", mesh_id ); return -1; } - h5err = read_mesh ( f ); + h5err = traverse_mesh ( f ); if ( h5err < 0 ) { fprintf ( stderr, "!!! Oops ...\n" ); return 1;