// Print all optional attributes void AH5_print_opt_attrs(const AH5_opt_attrs_t *opt_attrs, int space) { hsize_t i; for (i = 0; i < opt_attrs->nb_instances; i++) { switch (opt_attrs->instances[i].type) { case H5T_INTEGER: AH5_print_int_attr(opt_attrs->instances[i].name, opt_attrs->instances[i].value.i, space); break; case H5T_FLOAT: AH5_print_flt_attr(opt_attrs->instances[i].name, opt_attrs->instances[i].value.f, space); break; case H5T_COMPOUND: AH5_print_cpx_attr(opt_attrs->instances[i].name, opt_attrs->instances[i].value.c, space); break; case H5T_STRING: AH5_print_str_attr(opt_attrs->instances[i].name, opt_attrs->instances[i].value.s, space); break; default: AH5_print_str_attr(opt_attrs->instances[i].name, "UNSUPPORTED DATA TYPE", space); break; } } }
// Print localizationSystem instance void AH5_print_lsm_instance (const AH5_lsm_instance_t *lsm_instance, int space) { hsize_t i; printf("%*sInstance: %s\n", space, "", AH5_get_name_from_path(lsm_instance->path)); AH5_print_int_attr(AH5_A_DIMENSION, lsm_instance->dimension, space + 4); AH5_print_opt_attrs(&(lsm_instance->opt_attrs), space + 4); for (i = 0; i < lsm_instance->nb_transformations; i++) AH5_print_lsm_transformation(&(lsm_instance->transformations[i]), space + 2); }
// Print localizationSystem transformation void AH5_print_lsm_transformation (const AH5_lsm_transf_t *lsm_transformation, int space) { printf("%*sTransformation: %s\n", space, "", AH5_get_name_from_path(lsm_transformation->path)); AH5_print_int_attr(AH5_A_RANK, lsm_transformation->rank, space + 3); switch (lsm_transformation->type) { case TRF_SCALE: AH5_print_str_attr(AH5_A_TYPE, AH5_V_SCALE, space + 3); break; case TRF_ROTATION: AH5_print_str_attr(AH5_A_TYPE, AH5_V_ROTATION, space + 3); break; case TRF_TRANSLATION: AH5_print_str_attr(AH5_A_TYPE, AH5_V_TRANSLATION, space + 3); break; default: AH5_print_str_attr(AH5_A_TYPE, AH5_V_INVALID, space + 3); break; } }