Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
Go to the source code of this file.
Defines | |
#define | API_BEGIN |
#define | API_END_H(n) |
#define | API_END API_END_H( 0 ) |
Functions | |
void * | mhdf_malloc (size_t size, mhdf_Status *status) |
void * | mhdf_realloc (void *ptr, size_t size, mhdf_Status *status) |
size_t | mhdf_name_to_path (const char *name, char *path, size_t path_len) |
int | mhdf_path_to_name (const char *path, char *name) |
char * | mhdf_name_to_path_copy (const char *name, mhdf_Status *status) |
char * | mhdf_name_to_path_cat (const char *prefix, const char *name, mhdf_Status *status) |
hid_t | mhdf_elem_group_from_handle (FileHandle *file_ptr, const char *elem_handle, mhdf_Status *status) |
int | mhdf_create_scalar_attrib (hid_t object, const char *name, hid_t type, const void *value, mhdf_Status *status) |
int | mhdf_read_scalar_attrib (hid_t object, const char *name, hid_t type, void *value, mhdf_Status *status) |
int | mhdf_find_attribute (hid_t object, const char *attrib_name, unsigned int *index_out, mhdf_Status *status) |
int | mhdf_is_in_group (hid_t group, const char *name, mhdf_Status *status) |
int | mhdf_read_data (hid_t data_table, long offset, long count, hid_t type, void *array, hid_t read_prop, mhdf_Status *status) |
int | mhdf_write_data (hid_t data_table, long offset, long count, hid_t type, const void *array, hid_t write_prop, mhdf_Status *status) |
int | mhdf_read_column (hid_t data_table, int column, long offset, long count, hid_t type, void *array, hid_t read_prop, mhdf_Status *status) |
int | mhdf_write_column (hid_t data_table, int column, long offset, long count, hid_t type, const void *array, hid_t write_prop, mhdf_Status *status) |
hid_t | mhdf_create_table (hid_t group, const char *path, hid_t type, int rank, hsize_t *dims, mhdf_Status *status) |
hid_t | mhdf_create_table_with_prop (hid_t group, const char *path, hid_t type, int rank, hsize_t *dims, hid_t dataset_creation_prop, mhdf_Status *status) |
hid_t | mhdf_open_table (hid_t group, const char *path, int columns, hsize_t *rows_out, mhdf_Status *status) |
hid_t | mhdf_open_table2 (hid_t group, const char *path, int rank, hsize_t *dims_out, long *start_id_out, mhdf_Status *status) |
hid_t | mhdf_open_table_simple (hid_t group, const char *path, mhdf_Status *status) |
int | mhdf_compact_to_ranges (int *length_in_out, int *ids_in, int ordered) |
hid_t | get_elem_type_enum (FileHandle *file_ptr, mhdf_Status *status) |
void | mhdf_api_begin_internal (void) |
void | mhdf_api_end_internal (int expected_diff, const char *filename, int linenumber) |
int | mhdf_write_max_id (FileHandle *file_ptr, mhdf_Status *status) |
#define API_BEGIN |
Definition at line 122 of file util.h.
Referenced by mhdf_addElement(), mhdf_checkOpenHandles(), mhdf_closeFile(), mhdf_createAdjacency(), mhdf_createConnectivity(), mhdf_createDenseTagData(), mhdf_createFile(), mhdf_createNodeCoords(), mhdf_createPolyConnectivity(), mhdf_createSetChildren(), mhdf_createSetData(), mhdf_createSetMeta(), mhdf_createSetParents(), mhdf_createSparseTagData(), mhdf_createTag(), mhdf_createVarLenTag(), mhdf_createVarLenTagData(), mhdf_fixFileDesc(), mhdf_getElemName(), mhdf_getElemTypeName(), mhdf_getFileSummary(), mhdf_getNextStartId(), mhdf_getNumberTags(), mhdf_getTagDataType(), mhdf_getTagInfo(), mhdf_getTagNames(), mhdf_getTagValues(), mhdf_haveAdjacency(), mhdf_haveDenseTag(), mhdf_haveNodes(), mhdf_haveSets(), mhdf_isPolyElement(), mhdf_openAdjacency(), mhdf_openConnectivity(), mhdf_openConnectivitySimple(), mhdf_openDenseTagData(), mhdf_openFileWithOpt(), mhdf_openNodeCoords(), mhdf_openNodeCoordsSimple(), mhdf_openPolyConnectivity(), mhdf_openSetChildren(), mhdf_openSetData(), mhdf_openSetMeta(), mhdf_openSetMetaSimple(), mhdf_openSetParents(), mhdf_openSparseTagData(), mhdf_readAdjacency(), mhdf_readAdjacencyWithOpt(), mhdf_readConnectivity(), mhdf_readConnectivityWithOpt(), mhdf_readHistory(), mhdf_readNodeCoord(), mhdf_readNodeCoords(), mhdf_readNodeCoordsWithOpt(), mhdf_readNodeCoordWithOpt(), mhdf_readPolyConnIDs(), mhdf_readPolyConnIDsWithOpt(), mhdf_readPolyConnIndices(), mhdf_readPolyConnIndicesWithOpt(), mhdf_readSetChildEndIndices(), mhdf_readSetChildEndIndicesWithOpt(), mhdf_readSetContentEndIndices(), mhdf_readSetContentEndIndicesWithOpt(), mhdf_readSetData(), mhdf_readSetDataWithOpt(), mhdf_readSetFlags(), mhdf_readSetFlagsWithOpt(), mhdf_readSetMeta(), mhdf_readSetMetaWithOpt(), mhdf_readSetParentEndIndices(), mhdf_readSetParentEndIndicesWithOpt(), mhdf_readSetParentsChildren(), mhdf_readSetParentsChildrenWithOpt(), mhdf_readSparseTagEntities(), mhdf_readSparseTagEntitiesWithOpt(), mhdf_readSparseTagIndices(), mhdf_readSparseTagIndicesWithOpt(), mhdf_readTagValuesWithOpt(), mhdf_writeAdjacency(), mhdf_writeAdjacencyWithOpt(), mhdf_writeConnectivity(), mhdf_writeConnectivityWithOpt(), mhdf_writeHistory(), mhdf_writeNodeCoord(), mhdf_writeNodeCoords(), mhdf_writeNodeCoordsWithOpt(), mhdf_writeNodeCoordWithOpt(), mhdf_writePolyConnIDs(), mhdf_writePolyConnIDsWithOpt(), mhdf_writePolyConnIndices(), mhdf_writePolyConnIndicesWithOpt(), mhdf_writeSetData(), mhdf_writeSetDataWithOpt(), mhdf_writeSetMeta(), mhdf_writeSetMetaWithOpt(), mhdf_writeSetParentsChildren(), mhdf_writeSetParentsChildrenWithOpt(), mhdf_writeSparseTagEntities(), mhdf_writeSparseTagEntitiesWithOpt(), mhdf_writeSparseTagIndices(), mhdf_writeSparseTagIndicesWithOpt(), and mhdf_writeTagValuesWithOpt().
Definition at line 128 of file util.h.
Referenced by mhdf_addElement(), mhdf_createTag(), mhdf_createVarLenTag(), mhdf_fixFileDesc(), mhdf_getElemName(), mhdf_getElemTypeName(), mhdf_getFileSummary(), mhdf_getNextStartId(), mhdf_getNumberTags(), mhdf_getTagDataType(), mhdf_getTagInfo(), mhdf_getTagNames(), mhdf_getTagValues(), mhdf_haveAdjacency(), mhdf_haveDenseTag(), mhdf_haveNodes(), mhdf_haveSets(), mhdf_isPolyElement(), mhdf_readAdjacency(), mhdf_readAdjacencyWithOpt(), mhdf_readConnectivity(), mhdf_readConnectivityWithOpt(), mhdf_readHistory(), mhdf_readNodeCoord(), mhdf_readNodeCoords(), mhdf_readNodeCoordsWithOpt(), mhdf_readNodeCoordWithOpt(), mhdf_readPolyConnIDs(), mhdf_readPolyConnIDsWithOpt(), mhdf_readPolyConnIndices(), mhdf_readPolyConnIndicesWithOpt(), mhdf_readSetChildEndIndices(), mhdf_readSetChildEndIndicesWithOpt(), mhdf_readSetContentEndIndices(), mhdf_readSetContentEndIndicesWithOpt(), mhdf_readSetData(), mhdf_readSetDataWithOpt(), mhdf_readSetFlags(), mhdf_readSetFlagsWithOpt(), mhdf_readSetMeta(), mhdf_readSetMetaWithOpt(), mhdf_readSetParentEndIndices(), mhdf_readSetParentEndIndicesWithOpt(), mhdf_readSetParentsChildren(), mhdf_readSetParentsChildrenWithOpt(), mhdf_readSparseTagEntities(), mhdf_readSparseTagEntitiesWithOpt(), mhdf_readSparseTagIndices(), mhdf_readSparseTagIndicesWithOpt(), mhdf_readTagValuesWithOpt(), mhdf_writeAdjacency(), mhdf_writeAdjacencyWithOpt(), mhdf_writeConnectivity(), mhdf_writeConnectivityWithOpt(), mhdf_writeHistory(), mhdf_writeNodeCoord(), mhdf_writeNodeCoords(), mhdf_writeNodeCoordsWithOpt(), mhdf_writeNodeCoordWithOpt(), mhdf_writePolyConnIDs(), mhdf_writePolyConnIDsWithOpt(), mhdf_writePolyConnIndices(), mhdf_writePolyConnIndicesWithOpt(), mhdf_writeSetData(), mhdf_writeSetDataWithOpt(), mhdf_writeSetMeta(), mhdf_writeSetMetaWithOpt(), mhdf_writeSetParentsChildren(), mhdf_writeSetParentsChildrenWithOpt(), mhdf_writeSparseTagEntities(), mhdf_writeSparseTagEntitiesWithOpt(), mhdf_writeSparseTagIndices(), mhdf_writeSparseTagIndicesWithOpt(), and mhdf_writeTagValuesWithOpt().
#define API_END_H | ( | n | ) |
Definition at line 123 of file util.h.
Referenced by mhdf_checkOpenHandles(), mhdf_closeFile(), mhdf_createAdjacency(), mhdf_createConnectivity(), mhdf_createDenseTagData(), mhdf_createFile(), mhdf_createNodeCoords(), mhdf_createPolyConnectivity(), mhdf_createSetChildren(), mhdf_createSetData(), mhdf_createSetMeta(), mhdf_createSetParents(), mhdf_createSparseTagData(), mhdf_createVarLenTagData(), mhdf_openAdjacency(), mhdf_openConnectivity(), mhdf_openConnectivitySimple(), mhdf_openDenseTagData(), mhdf_openFileWithOpt(), mhdf_openNodeCoords(), mhdf_openNodeCoordsSimple(), mhdf_openPolyConnectivity(), mhdf_openSetChildren(), mhdf_openSetData(), mhdf_openSetMeta(), mhdf_openSetMetaSimple(), mhdf_openSetParents(), and mhdf_openSparseTagData().
hid_t get_elem_type_enum | ( | FileHandle * | file_ptr, |
mhdf_Status * | status | ||
) |
Definition at line 786 of file util.c.
References struct_FileHandle::hdf_handle, mhdf_setFail(), and TYPE_ENUM_PATH.
Referenced by mhdf_addElement(), and mhdf_getElemName().
{ hid_t result; #if defined( H5Topen_vers ) && H5Topen_vers > 1 result = H5Topen2( file_ptr->hdf_handle, TYPE_ENUM_PATH, H5P_DEFAULT ); #else result = H5Topen( file_ptr->hdf_handle, TYPE_ENUM_PATH ); #endif if( result < 0 ) mhdf_setFail( status, "Element type enum does not exist in file. Invalid file." ); return result; }
void mhdf_api_begin_internal | ( | void | ) |
Definition at line 862 of file util.c.
References num_open().
{ /* HDF5 docs are incorrect. Passing H5F_OBJ_ALL as the first arg to H5Fget_obj_count returns the total number of open handles, not just those in files (i.e. temporary types and such.) mhdf_api_handle_count = H5Fget_obj_count( H5F_OBJ_ALL, H5F_OBJ_ALL ); Need to loop to get actual file handles: */ mhdf_api_handle_count = num_open(); }
void mhdf_api_end_internal | ( | int | expected_diff, |
const char * | filename, | ||
int | linenumber | ||
) |
Definition at line 873 of file util.c.
References num_open().
{ if( mhdf_api_handle_count + expected_diff != num_open() ) { fprintf( stderr, "Unclosed handles at end of mhdf API call.\n" ); fprintf( stderr, "Entered with %d, expected %d change, got %d.\n", mhdf_api_handle_count, expected_diff, num_open() ); fprintf( stderr, "%s:%d\n", filename, linenumber ); abort(); } mhdf_api_handle_count = 0; }
int mhdf_compact_to_ranges | ( | int * | length_in_out, |
int * | ids_in, | ||
int | ordered | ||
) |
Definition at line 733 of file util.c.
References length(), and qs_comp_int().
{ int new_length = 0; int *iter, *end; int prev, count; int need_copy = 0; int *copy_ptr = 0, *w_iter; size_t blen; if( !ordered ) qsort( ids, *length, sizeof( int ), &qs_comp_int ); iter = ids; end = ids + *length; while( iter != end ) { prev = *( iter++ ); while( iter < end && *( iter++ ) == ++prev ) ; new_length += 2; if( new_length > ( iter - ids ) ) need_copy = 1; } if( new_length > *length ) return 0; if( need_copy ) { blen = sizeof( int ) * *length; copy_ptr = (int*)malloc( blen ); memcpy( copy_ptr, ids, blen ); iter = copy_ptr; } else { iter = ids; } end = iter + *length; w_iter = ids; while( iter != end ) { prev = *( iter++ ); count = 1; while( iter < end && *( iter++ ) == ++prev ) ; *( w_iter++ ) = prev - count; *( w_iter++ ) = count; } *length = new_length; if( need_copy ) free( copy_ptr ); return 1; }
int mhdf_create_scalar_attrib | ( | hid_t | object, |
const char * | name, | ||
hid_t | type, | ||
const void * | value, | ||
mhdf_Status * | status | ||
) |
Definition at line 164 of file util.c.
References mhdf_setFail(), and VALGRIND_CHECK_MEM_IS_DEFINED.
Referenced by create_tag_common(), mhdf_addElement(), mhdf_createConnectivity(), mhdf_createFile(), mhdf_createNodeCoords(), mhdf_createPolyConnectivity(), mhdf_createSetMeta(), mhdf_createVarLenTag(), and store_tag_val_in_attrib().
{ hid_t dspace_id, attr_id; herr_t rval; dspace_id = H5Screate( H5S_SCALAR ); if( dspace_id < 0 ) { mhdf_setFail( status, "Internal error calling H5Screate_simple." ); return 0; } #if defined( H5Acreate_vers ) && H5Acreate_vers > 1 attr_id = H5Acreate2( object, name, type, dspace_id, H5P_DEFAULT, H5P_DEFAULT ); #else attr_id = H5Acreate( object, name, type, dspace_id, H5P_DEFAULT ); #endif H5Sclose( dspace_id ); if( attr_id < 0 ) { mhdf_setFail( status, "Failed to create \"%s\" attrib.", name ); return 0; } VALGRIND_CHECK_MEM_IS_DEFINED( value, H5Tget_size( type ) ); rval = H5Awrite( attr_id, type, value ); H5Aclose( attr_id ); if( rval < 0 ) { mhdf_setFail( status, "Failed to write \"%s\" attrib.", name ); return 0; } return 1; }
hid_t mhdf_create_table | ( | hid_t | group, |
const char * | path, | ||
hid_t | type, | ||
int | rank, | ||
hsize_t * | dims, | ||
mhdf_Status * | status | ||
) |
Definition at line 563 of file util.c.
References mhdf_create_table_with_prop().
Referenced by mhdf_createAdjacency(), mhdf_createConnectivity(), mhdf_createDenseTagData(), mhdf_createNodeCoords(), mhdf_createPolyConnectivity(), mhdf_createSetChildren(), mhdf_createSetData(), mhdf_createSetMeta(), mhdf_createSetParents(), mhdf_createSparseTagData(), and mhdf_createVarLenTagData().
{ return mhdf_create_table_with_prop( group_id, path, type, rank, dims, H5P_DEFAULT, status ); }
hid_t mhdf_create_table_with_prop | ( | hid_t | group, |
const char * | path, | ||
hid_t | type, | ||
int | rank, | ||
hsize_t * | dims, | ||
hid_t | dataset_creation_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 568 of file util.c.
References mhdf_setFail(), and mhdf_setOkay().
Referenced by mhdf_create_table().
{ hid_t space_id, table_id; space_id = H5Screate_simple( rank, dims, NULL ); if( space_id < 0 ) { mhdf_setFail( status, "Internal error calling H5Screate_simple." ); return -1; } #if defined( H5Dcreate_vers ) && H5Dcreate_vers > 1 table_id = H5Dcreate2( group_id, path, type, space_id, H5P_DEFAULT, create_prop, H5P_DEFAULT ); #else table_id = H5Dcreate( group_id, path, type, space_id, create_prop ); #endif H5Sclose( space_id ); if( table_id < 0 ) { mhdf_setFail( status, "HDF5 DataSet creation failed." ); return -1; } mhdf_setOkay( status ); return table_id; }
hid_t mhdf_elem_group_from_handle | ( | FileHandle * | file_ptr, |
const char * | elem_handle, | ||
mhdf_Status * | status | ||
) |
Definition at line 146 of file util.c.
References ELEMENT_GROUP, struct_FileHandle::hdf_handle, mhdf_name_to_path_cat(), and mhdf_setFail().
Referenced by mhdf_createAdjacency(), mhdf_createConnectivity(), mhdf_createDenseTagData(), mhdf_createPolyConnectivity(), mhdf_getElemTypeName(), mhdf_haveAdjacency(), mhdf_haveDenseTag(), mhdf_isPolyElement(), mhdf_openAdjacency(), mhdf_openConnectivity(), mhdf_openConnectivitySimple(), mhdf_openDenseTagData(), and mhdf_openPolyConnectivity().
{ char* path; hid_t result; path = mhdf_name_to_path_cat( ELEMENT_GROUP, elem_handle, status ); if( NULL == path ) return -1; #if defined( H5Gopen_vers ) && H5Gopen_vers > 1 result = H5Gopen2( file_ptr->hdf_handle, path, H5P_DEFAULT ); #else result = H5Gopen( file_ptr->hdf_handle, path ); #endif free( path ); if( result < 0 ) mhdf_setFail( status, "Failed to open element group: \"%s\"", elem_handle ); return result; }
int mhdf_find_attribute | ( | hid_t | object, |
const char * | attrib_name, | ||
unsigned int * | index_out, | ||
mhdf_Status * | status | ||
) |
Definition at line 256 of file util.c.
References find_attr_by_name(), and mhdf_setFail().
Referenced by mhdf_getTagInfo(), mhdf_getTagValues(), mhdf_openSparseTagData(), and read_tag_attrib_data().
{ herr_t rval; #if defined( H5Aiterate_vers ) && H5Aiterate_vers > 1 hsize_t idx = 0; rval = H5Aiterate2( object, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, &idx, &find_attr_by_name, (void*)attrib_name ); *index_out = (unsigned int)idx; #else *index_out = 0; rval = H5Aiterate( object, index_out, &find_attr_by_name, (void*)attrib_name ); #endif if( rval < 0 ) mhdf_setFail( status, "Internal error calling H5Aiterate." ); return (int)rval; }
int mhdf_is_in_group | ( | hid_t | group, |
const char * | name, | ||
mhdf_Status * | status | ||
) |
Definition at line 280 of file util.c.
References find_link_by_name(), and mhdf_setFail().
Referenced by mhdf_getTagInfo(), mhdf_haveAdjacency(), mhdf_haveDenseTag(), mhdf_haveNodes(), mhdf_haveSets(), mhdf_isPolyElement(), mhdf_readHistory(), and scan_for_max_id().
{ int rval; rval = H5Giterate( group, ".", NULL, &find_link_by_name, (void*)name ); if( rval < 0 ) mhdf_setFail( status, "Internal error in H5Giterate." ); return rval; }
void* mhdf_malloc | ( | size_t | size, |
mhdf_Status * | status | ||
) |
MOAB, a Mesh-Oriented datABase, is a software component for creating, storing and accessing finite element mesh data.
Copyright 2004 Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
Definition at line 32 of file util.c.
References mhdf_setFail().
Referenced by alloc_file_desc(), mhdf_addElement(), mhdf_alloc_FileHandle(), mhdf_createDenseTagData(), mhdf_getElemHandles(), mhdf_getFileSummary(), mhdf_getTagNames(), mhdf_name_to_path_cat(), mhdf_name_to_path_copy(), mhdf_openDenseTagData(), and mhdf_readHistory().
{ void* result; result = malloc( size ); if( !result ) mhdf_setFail( status, "Allocation of %d bytes failed.\n", (int)size ); return result; }
size_t mhdf_name_to_path | ( | const char * | name, |
char * | path, | ||
size_t | path_len | ||
) |
Definition at line 48 of file util.c.
References length().
Referenced by mhdf_addElement(), mhdf_createDenseTagData(), mhdf_name_to_path_cat(), mhdf_name_to_path_copy(), and mhdf_openDenseTagData().
{ size_t length = 1; unsigned char* iter; if( 0 == strcmp( name, "." ) ) { if( path_len >= 4 ) sprintf( path, "\\%02X", (int)*name ); return 4; } for( iter = (unsigned char*)name; *iter; ++iter ) { if( iscntrl( *iter ) || *iter == '/' || *iter == '\\' || *iter > 127 ) length += 3; else length += 1; } if( path_len < length ) return length; for( iter = (unsigned char*)name; *iter; ++iter ) { if( iscntrl( *iter ) || *iter == '/' || *iter == '\\' || *iter > 127 ) { sprintf( path, "\\%02X", (int)( *iter ) ); path += 3; } else { *( path++ ) = *iter; } } *path = '\0'; return length; }
char* mhdf_name_to_path_cat | ( | const char * | prefix, |
const char * | name, | ||
mhdf_Status * | status | ||
) |
Definition at line 131 of file util.c.
References buffer, mhdf_malloc(), mhdf_name_to_path(), and size.
Referenced by mhdf_elem_group_from_handle().
{ size_t size, plen; char* buffer; plen = strlen( prefix ); size = mhdf_name_to_path( name, NULL, 0 ) + 1; buffer = (char*)mhdf_malloc( size + plen, status ); if( !buffer ) return NULL; memcpy( buffer, prefix, plen ); mhdf_name_to_path( name, buffer + plen, size ); return buffer; }
char* mhdf_name_to_path_copy | ( | const char * | name, |
mhdf_Status * | status | ||
) |
Definition at line 118 of file util.c.
References buffer, mhdf_malloc(), mhdf_name_to_path(), and size.
Referenced by create_tag_common(), get_tag(), mhdf_getTagDataType(), and mhdf_haveDenseTag().
{ size_t size; char* buffer; size = mhdf_name_to_path( name, NULL, 0 ); buffer = (char*)mhdf_malloc( size, status ); if( !buffer ) return NULL; mhdf_name_to_path( name, buffer, size ); return buffer; }
hid_t mhdf_open_table | ( | hid_t | group, |
const char * | path, | ||
int | columns, | ||
hsize_t * | rows_out, | ||
mhdf_Status * | status | ||
) |
Definition at line 601 of file util.c.
References mhdf_setFail(), and mhdf_setOkay().
Referenced by mhdf_openAdjacency(), mhdf_openDenseTagData(), mhdf_openPolyConnectivity(), mhdf_openSetChildren(), mhdf_openSetData(), mhdf_openSetParents(), and mhdf_openSparseTagData().
{ hid_t table_id, space_id; hsize_t dims[2]; int rank; #if defined( H5Dopen_vers ) && H5Dopen_vers > 1 table_id = H5Dopen2( group_id, path, H5P_DEFAULT ); #else table_id = H5Dopen( group_id, path ); #endif if( table_id < 0 ) { mhdf_setFail( status, "HDF5 DataSet creation failed." ); return -1; } space_id = H5Dget_space( table_id ); if( space_id < 0 ) { mhdf_setFail( status, "Internal error in H5Dget_space." ); H5Dclose( table_id ); return -1; } rank = H5Sget_simple_extent_ndims( space_id ); if( rank != ( columns ? 1 : 2 ) ) { mhdf_setFail( status, "Incorrect DataSpace for DataSet." ); H5Sclose( space_id ); H5Dclose( table_id ); return -1; } rank = H5Sget_simple_extent_dims( space_id, dims, NULL ); H5Sclose( space_id ); if( rank < 0 ) { mhdf_setFail( status, "Internal error calling H5Sget_simple_extent_dims." ); H5Dclose( table_id ); return -1; } *rows_out = dims[0]; mhdf_setOkay( status ); return table_id; }
hid_t mhdf_open_table2 | ( | hid_t | group, |
const char * | path, | ||
int | rank, | ||
hsize_t * | dims_out, | ||
long * | start_id_out, | ||
mhdf_Status * | status | ||
) |
Definition at line 649 of file util.c.
References mhdf_read_scalar_attrib(), mhdf_setFail(), mhdf_setOkay(), and START_ID_ATTRIB.
Referenced by mhdf_openConnectivity(), mhdf_openNodeCoords(), and mhdf_openSetMeta().
{ hid_t table_id, space_id; #if defined( H5Dopen_vers ) && H5Dopen_vers > 1 table_id = H5Dopen2( group_id, path, H5P_DEFAULT ); #else table_id = H5Dopen( group_id, path ); #endif if( table_id < 0 ) { mhdf_setFail( status, "HDF5 DataSet creation failed." ); return -1; } space_id = H5Dget_space( table_id ); if( space_id < 0 ) { mhdf_setFail( status, "Internal error in H5Dget_space." ); H5Dclose( table_id ); return -1; } if( H5Sget_simple_extent_ndims( space_id ) != rank ) { mhdf_setFail( status, "Incorrect DataSpace for DataSet." ); H5Sclose( space_id ); H5Dclose( table_id ); return -1; } rank = H5Sget_simple_extent_dims( space_id, dims_out, NULL ); H5Sclose( space_id ); if( rank < 0 ) { mhdf_setFail( status, "Internal error calling H5Sget_simple_extent_dims." ); H5Dclose( table_id ); return -1; } if( !mhdf_read_scalar_attrib( table_id, START_ID_ATTRIB, H5T_NATIVE_LONG, start_id_out, status ) ) { mhdf_setFail( status, "File format error. Failed to retreive ID offset." ); H5Dclose( table_id ); return -1; } mhdf_setOkay( status ); return table_id; }
hid_t mhdf_open_table_simple | ( | hid_t | group, |
const char * | path, | ||
mhdf_Status * | status | ||
) |
Definition at line 705 of file util.c.
References mhdf_setFail(), and mhdf_setOkay().
Referenced by mhdf_openConnectivitySimple(), mhdf_openNodeCoordsSimple(), and mhdf_openSetMetaSimple().
{ hid_t table_id; #if defined( H5Dopen_vers ) && H5Dopen_vers > 1 table_id = H5Dopen2( group_id, path, H5P_DEFAULT ); #else table_id = H5Dopen( group_id, path ); #endif if( table_id < 0 ) { mhdf_setFail( status, "HDF5 DataSet creation failed." ); } else { mhdf_setOkay( status ); } return table_id; }
int mhdf_path_to_name | ( | const char * | path, |
char * | name | ||
) |
Definition at line 93 of file util.c.
References mhdf_hex_char().
Referenced by mhdf_addElement(), mhdf_getElemHandles(), and mhdf_getTagNames().
{ const char* iter; char c1, c2; for( iter = path; *iter; ++iter, ++name ) { if( *iter == '\\' ) { c1 = *++iter; c2 = *++iter; if( !isxdigit( c1 ) || !isxdigit( c2 ) ) return 0; *name = (char)( 16 * mhdf_hex_char( c1 ) + mhdf_hex_char( c2 ) ); } else { *name = *iter; } } *name = '\0'; return 1; }
int mhdf_read_column | ( | hid_t | data_table, |
int | column, | ||
long | offset, | ||
long | count, | ||
hid_t | type, | ||
void * | array, | ||
hid_t | read_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 539 of file util.c.
References mhdf_readwrite_column().
Referenced by mhdf_readNodeCoord(), and mhdf_readNodeCoordWithOpt().
{ return mhdf_readwrite_column( data_id, 1, column, offset, count, type, array, prop, status ); }
int mhdf_read_data | ( | hid_t | data_table, |
long | offset, | ||
long | count, | ||
hid_t | type, | ||
void * | array, | ||
hid_t | read_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 528 of file util.c.
References mhdf_readwrite().
Referenced by mhdf_getFileSummary(), mhdf_readAdjacency(), mhdf_readAdjacencyWithOpt(), mhdf_readConnectivity(), mhdf_readConnectivityWithOpt(), mhdf_readNodeCoords(), mhdf_readNodeCoordsWithOpt(), mhdf_readPolyConnIDs(), mhdf_readPolyConnIDsWithOpt(), mhdf_readPolyConnIndices(), mhdf_readPolyConnIndicesWithOpt(), mhdf_readSetData(), mhdf_readSetDataWithOpt(), mhdf_readSetParentsChildren(), mhdf_readSetParentsChildrenWithOpt(), mhdf_readSparseTagEntities(), mhdf_readSparseTagEntitiesWithOpt(), mhdf_readSparseTagIndices(), mhdf_readSparseTagIndicesWithOpt(), and mhdf_readTagValuesWithOpt().
{ return mhdf_readwrite( data_id, 1, offset, count, type_id, array, prop, status ); }
int mhdf_read_scalar_attrib | ( | hid_t | object, |
const char * | name, | ||
hid_t | type, | ||
void * | value, | ||
mhdf_Status * | status | ||
) |
Definition at line 200 of file util.c.
References mhdf_setFail().
Referenced by mhdf_getTagInfo(), mhdf_open_table2(), mhdf_openPolyConnectivity(), read_tag_attrib_data(), and scan_for_max_id().
{ hid_t attr_id, type_id; herr_t rval; attr_id = H5Aopen_name( object, name ); if( attr_id < 0 ) { mhdf_setFail( status, "Failed to create \"%s\" attrib.", name ); return 0; } if( type > 0 ) { type_id = type; } else { type_id = H5Aget_type( attr_id ); if( type_id < 0 ) { H5Aclose( attr_id ); return 0; } } rval = H5Aread( attr_id, type_id, value ); H5Aclose( attr_id ); if( type < 1 ) H5Tclose( type_id ); if( rval < 0 ) { mhdf_setFail( status, "Failed to read \"%s\" attrib.", name ); return 0; } return 1; }
void* mhdf_realloc | ( | void * | ptr, |
size_t | size, | ||
mhdf_Status * | status | ||
) |
Definition at line 40 of file util.c.
References mhdf_setFail().
Referenced by realloc_data().
{ void* result; result = realloc( ptr, size ); if( !result ) mhdf_setFail( status, "Allocation of %d bytes failed.\n", (int)size ); return result; }
int mhdf_write_column | ( | hid_t | data_table, |
int | column, | ||
long | offset, | ||
long | count, | ||
hid_t | type, | ||
const void * | array, | ||
hid_t | write_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 551 of file util.c.
References mhdf_readwrite_column().
Referenced by mhdf_writeNodeCoord(), and mhdf_writeNodeCoordWithOpt().
{ return mhdf_readwrite_column( data_id, 0, column, offset, count, type, (void*)array, prop, status ); }
int mhdf_write_data | ( | hid_t | data_table, |
long | offset, | ||
long | count, | ||
hid_t | type, | ||
const void * | array, | ||
hid_t | write_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 517 of file util.c.
References mhdf_readwrite().
Referenced by mhdf_writeAdjacency(), mhdf_writeAdjacencyWithOpt(), mhdf_writeConnectivity(), mhdf_writeConnectivityWithOpt(), mhdf_writeNodeCoords(), mhdf_writeNodeCoordsWithOpt(), mhdf_writePolyConnIDs(), mhdf_writePolyConnIDsWithOpt(), mhdf_writePolyConnIndices(), mhdf_writePolyConnIndicesWithOpt(), mhdf_writeSetData(), mhdf_writeSetDataWithOpt(), mhdf_writeSetParentsChildren(), mhdf_writeSetParentsChildrenWithOpt(), mhdf_writeSparseTagEntities(), mhdf_writeSparseTagEntitiesWithOpt(), mhdf_writeSparseTagIndices(), mhdf_writeSparseTagIndicesWithOpt(), and mhdf_writeTagValuesWithOpt().
{ return mhdf_readwrite( data_id, 0, offset, count, type_id, (void*)array, prop, status ); }
int mhdf_write_max_id | ( | FileHandle * | file_ptr, |
mhdf_Status * | status | ||
) |
Definition at line 798 of file util.c.
References struct_FileHandle::hdf_handle, struct_FileHandle::max_id, MAX_ID_ATTRIB, mhdf_setFail(), and ROOT_GROUP.
Referenced by mhdf_createConnectivity(), mhdf_createNodeCoords(), mhdf_createPolyConnectivity(), and mhdf_createSetMeta().
{ hid_t group_id, attr_id, space_id; herr_t rval; #if defined( H5Gopen_vers ) && H5Gopen_vers > 1 group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); #else group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); #endif if( group_id < 0 ) { mhdf_setFail( status, "Internal error -- file invalid." ); return 0; } attr_id = H5Aopen_name( group_id, MAX_ID_ATTRIB ); if( attr_id < 0 ) { space_id = H5Screate( H5S_SCALAR ); #if defined( H5Acreate_vers ) && H5Acreate_vers > 1 attr_id = H5Acreate2( group_id, MAX_ID_ATTRIB, H5T_NATIVE_ULONG, space_id, H5P_DEFAULT, H5P_DEFAULT ); #else attr_id = H5Acreate( group_id, MAX_ID_ATTRIB, H5T_NATIVE_ULONG, space_id, H5P_DEFAULT ); #endif H5Sclose( space_id ); } H5Gclose( group_id ); if( attr_id < 0 ) { mhdf_setFail( status, "Failed to create attribute \"%s\" on \"%s\"", MAX_ID_ATTRIB, ROOT_GROUP ); return 0; } rval = H5Awrite( attr_id, H5T_NATIVE_ULONG, &file_ptr->max_id ); H5Aclose( attr_id ); if( rval < 0 ) { mhdf_setFail( status, "Failed to write \"%s\" attrib.", MAX_ID_ATTRIB ); return 0; } return 1; }