This commit is contained in:
2010-07-22 12:06:06 +00:00
parent b56c4246c9
commit 8c8de6e523
6 changed files with 806 additions and 0 deletions
+5
View File
@@ -424,7 +424,11 @@ src/h5core/h5b_model.c -text
src/h5core/h5b_model_private.h -text
src/h5core/h5b_readwrite.c -text
src/h5core/h5b_types_private.h -text
src/h5core/h5t_access_private.h -text
src/h5core/h5t_access_tetm.c -text
src/h5core/h5t_access_trim.c -text
src/h5core/h5t_adjacencies.c -text
src/h5core/h5t_adjacencies_private.h -text
src/h5core/h5t_adjacencies_tetm.c -text
src/h5core/h5t_adjacencies_tetm_private.h -text
src/h5core/h5t_adjacencies_trim.c -text
@@ -443,6 +447,7 @@ src/h5core/h5t_openclose.c -text
src/h5core/h5t_openclose_private.h -text
src/h5core/h5t_readwrite.c -text
src/h5core/h5t_readwrite_private.h -text
src/h5core/h5t_readwrite_trim.c -text
src/h5core/h5t_ref_elements.c -text
src/h5core/h5t_retrieve.c -text
src/h5core/h5t_retrieve_private.h -text
+98
View File
@@ -0,0 +1,98 @@
#ifndef __H5T_ACCESS_PRIVATE_H
#define __H5T_ACCESS_PRIVATE_H
extern struct h5t_access_methods h5tpriv_access_trim_methods;
extern struct h5t_access_methods h5tpriv_access_tetm_methods;
#define h5tpriv_get_loc_elem(f, elem_idx) \
(*f->t->methods.access->get_loc_elem)(f, elem_idx)
#define h5tpriv_get_loc_elem_idx(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_idx)(f, elem_idx)
#define h5tpriv_set_loc_elem_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_loc_elem_idx)(f, elem_idx, idx)
#define h5tpriv_get_loc_elem_parent_idx(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_parent_idx)(f, elem_idx)
#define h5tpriv_set_loc_elem_parent_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_loc_elem_parent_idx)(f, elem_idx, idx)
#define h5tpriv_get_loc_elem_child_idx(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_child_idx)(f, elem_idx)
#define h5tpriv_set_loc_elem_child_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_loc_elem_child_idx)(f, elem_idx, idx)
#define h5tpriv_get_loc_elem_level_idx(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_level_idx)(f, elem_idx)
#define h5tpriv_set_loc_elem_level_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_loc_elem_level_idx)(f, elem_idx, idx)
#define h5tpriv_get_loc_elem_vertex_indices(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_vertex_indices)(f, elem_idx)
#define h5tpriv_get_loc_elem_vertex_idx(f, elem_idx, face_idx) \
(*f->t->methods.access->get_loc_elem_vertex_idx)(f, elem_idx, face_idx)
#define h5tpriv_set_loc_elem_vertex_idx(f, elem_idx, face_idx, idx) \
(*f->t->methods.access->get_loc_elem_vertex_idx)(f, elem_idx, face_idx, idx)
#define h5tpriv_get_loc_elem_neighbor_indices(f, elem_idx) \
(*f->t->methods.access->get_loc_elem_neighbor_indices)(f, elem_idx)
#define h5tpriv_get_loc_elem_neighbor_idx(f, elem_idx, face_idx) \
(*f->t->methods.access->get_loc_elem_neighbor_idx)(f, elem_idx, face_idx)
#define h5tpriv_set_loc_elem_neighbor_idx(f, elem_idx, face_idx, idx) \
(*f->t->methods.access->get_loc_elem_neighbor_idx)(f, elem_idx, face_idx, idx)
#define h5tpriv_get_glb_elem(f, elem_idx) \
(*f->t->methods.access->get_glb_elem)(f, elem_idx)
#define h5tpriv_get_glb_elem_idx(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_idx)(f, elem_idx)
#define h5tpriv_set_glb_elem_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_glb_elem_idx)(f, elem_idx, idx)
#define h5tpriv_get_glb_elem_parent_idx(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_parent_idx)(f, elem_idx)
#define h5tpriv_set_glb_elem_parent_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_glb_elem_parent_idx)(f, elem_idx, idx)
#define h5tpriv_get_glb_elem_child_idx(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_child_idx)(f, elem_idx)
#define h5tpriv_set_glb_elem_child_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_glb_elem_child_idx)(f, elem_idx, idx)
#define h5tpriv_get_glb_elem_level_idx(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_level_idx)(f, elem_idx)
#define h5tpriv_set_glb_elem_level_idx(f, elem_idx, idx) \
(*f->t->methods.access->set_glb_elem_level_idx)(f, elem_idx, idx)
#define h5tpriv_get_glb_elem_vertex_indices(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_vertex_indices)(f, elem_idx)
#define h5tpriv_get_glb_elem_vertex_idx(f, elem_idx, face_idx) \
(*f->t->methods.access->get_glb_elem_vertex_idx)(f, elem_idx, face_idx)
#define h5tpriv_set_glb_elem_vertex_idx(f, elem_idx, face_idx, idx) \
(*f->t->methods.access->get_glb_elem_vertex_idx)(f, elem_idx, face_idx, idx)
#define h5tpriv_get_glb_elem_neighbor_indices(f, elem_idx) \
(*f->t->methods.access->get_glb_elem_neighbor_indices)(f, elem_idx)
#define h5tpriv_get_glb_elem_neighbor_idx(f, elem_idx, face_idx) \
(*f->t->methods.access->get_glb_elem_neighbor_idx)(f, elem_idx, face_idx)
#define h5tpriv_set_glb_elem_neighbor_idx(f, elem_idx, face_idx, idx) \
(*f->t->methods.access->get_glb_elem_neighbor_idx)(f, elem_idx, face_idx, idx)
#endif
+311
View File
@@ -0,0 +1,311 @@
#include "h5core/h5_core.h"
#include "h5_core_private.h"
/*** op's on local elements ***/
static h5_generic_elem_t*
get_loc_elem (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return (h5_generic_elem_t*)&f->t->loc_elems.tets[elem_idx];
}
static h5_id_t
get_loc_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].idx;
}
static h5_id_t
set_loc_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t idx
) {
f->t->loc_elems.tets[elem_idx].idx = idx;
return idx;
}
static h5_id_t
get_loc_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].parent_idx;
}
static h5_id_t
set_loc_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t parent_idx
) {
f->t->loc_elems.tets[elem_idx].parent_idx = parent_idx;
return parent_idx;
}
static h5_id_t
get_loc_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].child_idx;
}
static h5_id_t
set_loc_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t child_idx
) {
f->t->loc_elems.tets[elem_idx].child_idx = child_idx;
return child_idx;
}
static h5_id_t
get_loc_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].level_idx;
}
static h5_id_t
set_loc_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t level_idx
) {
f->t->loc_elems.tets[elem_idx].level_idx = level_idx;
return level_idx;
}
static h5_id_t*
get_loc_elem_vertex_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].vertex_indices;
}
static h5_id_t
get_loc_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->loc_elems.tets[elem_idx].vertex_indices[face_idx];
}
static h5_id_t
set_loc_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t vertex_idx
) {
f->t->loc_elems.tets[elem_idx].vertex_indices[face_idx] = vertex_idx;
return vertex_idx;
}
static h5_id_t*
get_loc_elem_neighbor_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tets[elem_idx].neighbor_indices;
}
static h5_id_t
get_loc_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->loc_elems.tets[elem_idx].neighbor_indices[face_idx];
}
static h5_id_t
set_loc_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t neighbor_idx
) {
f->t->loc_elems.tets[elem_idx].neighbor_indices[face_idx] = neighbor_idx;
return neighbor_idx;
}
/*** op's on global elements ***/
static h5_generic_elem_t*
get_glb_elem (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return (h5_generic_elem_t*)&f->t->glb_elems.tets[elem_idx];
}
static h5_id_t
get_glb_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].idx;
}
static h5_id_t
set_glb_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t idx
) {
f->t->glb_elems.tets[elem_idx].idx = idx;
return idx;
}
static h5_id_t
get_glb_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].parent_idx;
}
static h5_id_t
set_glb_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t parent_idx
) {
f->t->glb_elems.tets[elem_idx].parent_idx = parent_idx;
return parent_idx;
}
static h5_id_t
get_glb_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].child_idx;
}
static h5_id_t
set_glb_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t child_idx
) {
f->t->glb_elems.tets[elem_idx].child_idx = child_idx;
return child_idx;
}
static h5_id_t
get_glb_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].level_idx;
}
static h5_id_t
set_glb_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t level_idx
) {
f->t->glb_elems.tets[elem_idx].level_idx = level_idx;
return level_idx;
}
static h5_id_t*
get_glb_elem_vertex_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].vertex_indices;
}
static h5_id_t
get_glb_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->glb_elems.tets[elem_idx].vertex_indices[face_idx];
}
static h5_id_t
set_glb_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t vertex_idx
) {
f->t->glb_elems.tets[elem_idx].vertex_indices[face_idx] = vertex_idx;
return vertex_idx;
}
static h5_id_t*
get_glb_elem_neighbor_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tets[elem_idx].neighbor_indices;
}
static h5_id_t
get_glb_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->glb_elems.tets[elem_idx].neighbor_indices[face_idx];
}
static h5_id_t
set_glb_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t neighbor_idx
) {
f->t->glb_elems.tets[elem_idx].neighbor_indices[face_idx] = neighbor_idx;
return neighbor_idx;
}
struct h5t_access_methods h5tpriv_access_tetm_methods = {
get_loc_elem,
get_loc_elem_idx,
set_loc_elem_idx,
get_loc_elem_parent_idx,
set_loc_elem_parent_idx,
get_loc_elem_child_idx,
set_loc_elem_child_idx,
get_loc_elem_level_idx,
set_loc_elem_level_idx,
get_loc_elem_vertex_indices,
get_loc_elem_vertex_idx,
set_loc_elem_vertex_idx,
get_loc_elem_neighbor_indices,
get_loc_elem_neighbor_idx,
set_loc_elem_neighbor_idx,
get_glb_elem,
get_glb_elem_idx,
set_glb_elem_idx,
get_glb_elem_parent_idx,
set_glb_elem_parent_idx,
get_glb_elem_child_idx,
set_glb_elem_child_idx,
get_glb_elem_level_idx,
set_glb_elem_level_idx,
get_glb_elem_vertex_indices,
get_glb_elem_vertex_idx,
set_glb_elem_vertex_idx,
get_glb_elem_neighbor_indices,
get_glb_elem_neighbor_idx,
set_glb_elem_neighbor_idx,
};
+311
View File
@@ -0,0 +1,311 @@
#include "h5core/h5_core.h"
#include "h5_core_private.h"
/*** op's on local elements ***/
static h5_generic_elem_t*
get_loc_elem (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return (h5_generic_elem_t*)&f->t->loc_elems.tris[elem_idx];
}
static h5_id_t
get_loc_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].idx;
}
static h5_id_t
set_loc_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t idx
) {
f->t->loc_elems.tris[elem_idx].idx = idx;
return idx;
}
static h5_id_t
get_loc_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].parent_idx;
}
static h5_id_t
set_loc_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t parent_idx
) {
f->t->loc_elems.tris[elem_idx].parent_idx = parent_idx;
return parent_idx;
}
static h5_id_t
get_loc_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].child_idx;
}
static h5_id_t
set_loc_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t child_idx
) {
f->t->loc_elems.tris[elem_idx].child_idx = child_idx;
return child_idx;
}
static h5_id_t
get_loc_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].level_idx;
}
static h5_id_t
set_loc_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t level_idx
) {
f->t->loc_elems.tris[elem_idx].level_idx = level_idx;
return level_idx;
}
static h5_id_t*
get_loc_elem_vertex_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].vertex_indices;
}
static h5_id_t
get_loc_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->loc_elems.tris[elem_idx].vertex_indices[face_idx];
}
static h5_id_t
set_loc_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t vertex_idx
) {
f->t->loc_elems.tris[elem_idx].vertex_indices[face_idx] = vertex_idx;
return vertex_idx;
}
static h5_id_t*
get_loc_elem_neighbor_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->loc_elems.tris[elem_idx].neighbor_indices;
}
static h5_id_t
get_loc_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->loc_elems.tris[elem_idx].neighbor_indices[face_idx];
}
static h5_id_t
set_loc_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t neighbor_idx
) {
f->t->loc_elems.tris[elem_idx].neighbor_indices[face_idx] = neighbor_idx;
return neighbor_idx;
}
/*** op's on global elements ***/
static h5_generic_elem_t*
get_glb_elem (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return (h5_generic_elem_t*)&f->t->glb_elems.tris[elem_idx];
}
static h5_id_t
get_glb_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].idx;
}
static h5_id_t
set_glb_elem_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t idx
) {
f->t->glb_elems.tris[elem_idx].idx = idx;
return idx;
}
static h5_id_t
get_glb_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].parent_idx;
}
static h5_id_t
set_glb_elem_parent_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t parent_idx
) {
f->t->glb_elems.tris[elem_idx].parent_idx = parent_idx;
return parent_idx;
}
static h5_id_t
get_glb_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].child_idx;
}
static h5_id_t
set_glb_elem_child_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t child_idx
) {
f->t->glb_elems.tris[elem_idx].child_idx = child_idx;
return child_idx;
}
static h5_id_t
get_glb_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].level_idx;
}
static h5_id_t
set_glb_elem_level_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t level_idx
) {
f->t->glb_elems.tris[elem_idx].level_idx = level_idx;
return level_idx;
}
static h5_id_t*
get_glb_elem_vertex_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].vertex_indices;
}
static h5_id_t
get_glb_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->glb_elems.tris[elem_idx].vertex_indices[face_idx];
}
static h5_id_t
set_glb_elem_vertex_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t vertex_idx
) {
f->t->glb_elems.tris[elem_idx].vertex_indices[face_idx] = vertex_idx;
return vertex_idx;
}
static h5_id_t*
get_glb_elem_neighbor_indices (
h5_file_t* const f,
const h5_id_t elem_idx
) {
return f->t->glb_elems.tris[elem_idx].neighbor_indices;
}
static h5_id_t
get_glb_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx
) {
return f->t->glb_elems.tris[elem_idx].neighbor_indices[face_idx];
}
static h5_id_t
set_glb_elem_neighbor_idx (
h5_file_t* const f,
const h5_id_t elem_idx,
const h5_id_t face_idx,
const h5_id_t neighbor_idx
) {
f->t->glb_elems.tris[elem_idx].neighbor_indices[face_idx] = neighbor_idx;
return neighbor_idx;
}
struct h5t_access_methods h5tpriv_access_trim_methods = {
get_loc_elem,
get_loc_elem_idx,
set_loc_elem_idx,
get_loc_elem_parent_idx,
set_loc_elem_parent_idx,
get_loc_elem_child_idx,
set_loc_elem_child_idx,
get_loc_elem_level_idx,
set_loc_elem_level_idx,
get_loc_elem_vertex_indices,
get_loc_elem_vertex_idx,
set_loc_elem_vertex_idx,
get_loc_elem_neighbor_indices,
get_loc_elem_neighbor_idx,
set_loc_elem_neighbor_idx,
get_glb_elem,
get_glb_elem_idx,
set_glb_elem_idx,
get_glb_elem_parent_idx,
set_glb_elem_parent_idx,
get_glb_elem_child_idx,
set_glb_elem_child_idx,
get_glb_elem_level_idx,
set_glb_elem_level_idx,
get_glb_elem_vertex_indices,
get_glb_elem_vertex_idx,
set_glb_elem_vertex_idx,
get_glb_elem_neighbor_indices,
get_glb_elem_neighbor_idx,
set_glb_elem_neighbor_idx,
};
+7
View File
@@ -0,0 +1,7 @@
#ifndef __H5T_ADJACENCIES_PRIVATE_H
#define __H5T_ADJACENCIES_PRIVATE_H
extern struct h5t_adjacency_methods h5tpriv_trim_adjacency_methods;
extern struct h5t_adjacency_methods h5tpriv_tetm_adjacency_methods;
#endif
+74
View File
@@ -0,0 +1,74 @@
#include "h5core/h5_core.h"
#include "h5_core_private.h"
/*
setup structure "elems_ldta" with local indices for each element:
- translate the global vertex id's of each element to their
local id's
- translate the global parent id of each element to the
corresponding local id.
*/
static h5_err_t
init_loc_elems_struct (
h5_file_t* const f
) {
h5t_fdata_t* const t = f->t;
h5_id_t idx = 0;
const h5_id_t num_elems = t->num_elems[t->num_levels-1];
h5_id_t level_id = 0;
int num_vertices = t->ref_elem->num_faces[0];
h5_triangle_t* loc_elems = t->loc_elems.tris;
h5_triangle_t* glb_elems = t->glb_elems.tris;
for (idx = 0; idx < num_elems; idx++) {
// local idx
// local parent index
// level idx
// vertex indices
// neighbor indices
}
return H5_SUCCESS;
}
static h5_err_t
init_struct_elems_ldta (
h5_file_t* const f
) {
h5t_fdata_t* t = f->t;
h5_id_t idx = 0;
h5_id_t num_elems = t->num_elems[t->num_levels-1];
h5_id_t level_id = 0;
for (local_eid=0;
local_eid < num_elems;
local_eid++, elp+=h5tpriv_sizeof_elem[t->mesh_type], el_ldta++) {
el = (h5_elem_t*)elp;
TRY( h5t_map_global_vertex_indices2local (
f,
el->global_vertex_indices,
num_vertices,
el_ldta->local_vertex_indices) );
if (el->global_parent_idx >= 0)
TRY( el_ldta->local_parent_idx =
h5t_map_global_elem_idx2local (
f, el->global_parent_idx) );
if (el->global_child_idx >= 0)
TRY( el_ldta->local_child_idx =
h5t_map_global_elem_idx2local (
f, el->global_child_idx) );
if (local_eid >= t->num_elems[level_id]) {
level_id++;
}
el_ldta->level_id = level_id;
}
return H5_SUCCESS;
}
struct h5t_read_methods {
init_loc_elems_struct;
} h5t_read_trim_methods;