![]() |
Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
Functions | |
int | mhdf_haveNodes (mhdf_FileHandle file_handle, mhdf_Status *status) |
hid_t | mhdf_createNodeCoords (mhdf_FileHandle file_handle, int dimension, long num_nodes, long *first_node_id_out, mhdf_Status *status) |
Create new table for node coordinate data. | |
hid_t | mhdf_openNodeCoords (mhdf_FileHandle file_handle, long *num_nodes_out, int *dimension_out, long *first_node_id_out, mhdf_Status *status) |
Open table containing node coordinate data. | |
hid_t | mhdf_openNodeCoordsSimple (mhdf_FileHandle file_handle, mhdf_Status *status) |
void | mhdf_writeNodeCoords (hid_t data_handle, long offset, long count, const double *coords, mhdf_Status *status) |
Write node coordinate data. | |
void | mhdf_writeNodeCoordsWithOpt (hid_t data_handle, long offset, long count, const double *coords, hid_t write_prop, mhdf_Status *status) |
void | mhdf_writeNodeCoord (hid_t data_handle, long offset, long count, int dimension, const double *coords, mhdf_Status *status) |
Write node coordinate data. | |
void | mhdf_writeNodeCoordWithOpt (hid_t data_handle, long offset, long count, int dimension, const double *coords, hid_t write_prop, mhdf_Status *status) |
void | mhdf_readNodeCoords (hid_t data_handle, long offset, long count, double *coordinates, mhdf_Status *status) |
Read node coordinate data. | |
void | mhdf_readNodeCoordsWithOpt (hid_t data_handle, long offset, long count, double *coordinates, hid_t read_prop, mhdf_Status *status) |
void | mhdf_readNodeCoord (hid_t data_handle, long offset, long count, int dimension, double *coords, mhdf_Status *status) |
Read node coordinate data. | |
void | mhdf_readNodeCoordWithOpt (hid_t data_handle, long offset, long count, int dimension, double *coords, hid_t read_prop, mhdf_Status *status) |
hid_t mhdf_createNodeCoords | ( | mhdf_FileHandle | file_handle, |
int | dimension, | ||
long | num_nodes, | ||
long * | first_node_id_out, | ||
mhdf_Status * | status | ||
) |
Create new table for node coordinate data.
file_handle | The file. |
dimension | Number of coordinate values per node. |
num_nodes | The number of nodes the table will contain. |
first_node_id_out | Nodes are assigned IDs sequentially in the order they occur in the table, where the ID of the first node in the table is this passed-back value. |
status | Passed back status of API call. |
Definition at line 72 of file nodes.c.
References API_BEGIN, API_END_H, struct_FileHandle::hdf_handle, struct_FileHandle::max_id, mhdf_check_valid_file(), mhdf_create_scalar_attrib(), mhdf_create_table(), mhdf_setFail(), mhdf_setOkay(), mhdf_write_max_id(), NODE_COORD_PATH, struct_FileHandle::open_handle_count, and START_ID_ATTRIB.
Referenced by moab::WriteHDF5Parallel::create_node_table(), and moab::WriteHDF5::serial_create_file().
{
FileHandle* file_ptr = (FileHandle*)file_handle;
hid_t table_id;
hsize_t dims[2];
long first_id;
API_BEGIN;
if( !mhdf_check_valid_file( file_ptr, status ) ) return -1;
if( dimension < 1 )
{
mhdf_setFail( status, "Invalid argument: dimension = %d.", dimension );
return -1;
}
dims[0] = (hsize_t)num_nodes;
dims[1] = (hsize_t)dimension;
table_id = mhdf_create_table( file_ptr->hdf_handle, NODE_COORD_PATH, H5T_NATIVE_DOUBLE, 2, dims, status );
if( table_id < 0 ) return -1;
first_id = file_ptr->max_id + 1;
if( !mhdf_create_scalar_attrib( table_id, START_ID_ATTRIB, H5T_NATIVE_LONG, &first_id, status ) )
{
H5Dclose( table_id );
return -1;
}
*first_id_out = first_id;
file_ptr->max_id += num_nodes;
if( !mhdf_write_max_id( file_ptr, status ) )
{
H5Dclose( table_id );
return -1;
}
file_ptr->open_handle_count++;
mhdf_setOkay( status );
API_END_H( 1 );
return table_id;
}
int mhdf_haveNodes | ( | mhdf_FileHandle | file, |
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 26 of file nodes.c.
References API_BEGIN, API_END, struct_FileHandle::hdf_handle, mhdf_check_valid_file(), mhdf_is_in_group(), mhdf_setFail(), mhdf_setOkay(), NODE_COORD_NAME, NODE_GROUP, NODE_GROUP_NAME, and ROOT_GROUP.
Referenced by mhdf_getFileSummary().
{
FileHandle* file_ptr = (FileHandle*)file;
hid_t root_id, node_id;
int result;
API_BEGIN;
if( !mhdf_check_valid_file( file_ptr, status ) ) return -1;
#if defined( H5Gopen_vers ) && H5Gopen_vers > 1
root_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT );
#else
root_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP );
#endif
if( root_id < 0 )
{
mhdf_setFail( status, "H5Gopen( \"%s\" ) failed.", ROOT_GROUP );
return -1;
}
result = mhdf_is_in_group( root_id, NODE_GROUP_NAME, status );
if( result < 1 )
{
H5Gclose( root_id );
return result;
}
#if defined( H5Gopen_vers ) && H5Gopen_vers > 1
node_id = H5Gopen2( root_id, NODE_GROUP_NAME, H5P_DEFAULT );
#else
node_id = H5Gopen( root_id, NODE_GROUP_NAME );
#endif
H5Gclose( root_id );
if( node_id < 0 )
{
mhdf_setFail( status, "H5Gopen( \"%s\" ) failed.", NODE_GROUP );
return -1;
}
result = mhdf_is_in_group( node_id, NODE_COORD_NAME, status );
if( result >= 0 ) mhdf_setOkay( status );
H5Gclose( node_id );
API_END;
return result;
}
hid_t mhdf_openNodeCoords | ( | mhdf_FileHandle | file_handle, |
long * | num_nodes_out, | ||
int * | dimension_out, | ||
long * | first_node_id_out, | ||
mhdf_Status * | status | ||
) |
Open table containing node coordinate data.
file_handle | The file. |
dimension_out | Number of coordinate values per node. |
num_nodes_out | The number of nodes the table contains. |
first_node_id_out | Nodes are assigned IDs sequentially in the order they occur in the table, where the ID of the first node in the table is this passed-back value. |
status | Passed back status of API call. |
Definition at line 118 of file nodes.c.
References API_BEGIN, API_END_H, struct_FileHandle::hdf_handle, mhdf_check_valid_file(), mhdf_open_table2(), mhdf_setOkay(), NODE_COORD_PATH, and struct_FileHandle::open_handle_count.
Referenced by main(), mhdf_getFileSummary(), and moab::WriteHDF5::write_nodes().
{
FileHandle* file_ptr = (FileHandle*)file_handle;
hid_t table_id;
hsize_t dims[2];
API_BEGIN;
if( !mhdf_check_valid_file( file_ptr, status ) ) return -1;
table_id = mhdf_open_table2( file_ptr->hdf_handle, NODE_COORD_PATH, 2, dims, first_id_out, status );
if( table_id < 0 ) return -1;
*num_nodes_out = dims[0];
*dimension_out = dims[1];
file_ptr->open_handle_count++;
mhdf_setOkay( status );
API_END_H( 1 );
return table_id;
}
hid_t mhdf_openNodeCoordsSimple | ( | mhdf_FileHandle | file_handle, |
mhdf_Status * | status | ||
) |
Definition at line 142 of file nodes.c.
References API_BEGIN, API_END_H, struct_FileHandle::hdf_handle, mhdf_check_valid_file(), mhdf_open_table_simple(), mhdf_setOkay(), NODE_COORD_PATH, and struct_FileHandle::open_handle_count.
Referenced by moab::ReadHDF5::read_nodes().
{
FileHandle* file_ptr = (FileHandle*)file_handle;
hid_t table_id;
API_BEGIN;
if( !mhdf_check_valid_file( file_ptr, status ) ) return -1;
table_id = mhdf_open_table_simple( file_ptr->hdf_handle, NODE_COORD_PATH, status );
if( table_id < 0 ) return -1;
file_ptr->open_handle_count++;
mhdf_setOkay( status );
API_END_H( 1 );
return table_id;
}
void mhdf_readNodeCoord | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
int | dimension, | ||
double * | coords, | ||
mhdf_Status * | status | ||
) |
Read node coordinate data.
Read a single coordinate value (e.g. the 'x' coordinate) for a block of nodes.
data_handle | Handle returned from mhdf_createNodeCoords or mhdf_openNodeCoords . |
offset | Table row (node index) at which to start reading. |
count | Number of rows (number of nodes) to read. |
dimension | The coordinate to read (0->x, 1->y, ...) |
coords | Buffer in which to write node coordinate data. |
status | Passed back status of API call. |
Definition at line 219 of file nodes.c.
References API_BEGIN, API_END, and mhdf_read_column().
{
API_BEGIN;
mhdf_read_column( table_id, dimension, offset, count, H5T_NATIVE_DOUBLE, coords, H5P_DEFAULT, status );
API_END;
}
void mhdf_readNodeCoords | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
double * | coordinates, | ||
mhdf_Status * | status | ||
) |
Read node coordinate data.
Read interleaved coordinate data for a block of nodes
data_handle | Handle returned from mhdf_createNodeCoords or mhdf_openNodeCoords . |
offset | Table row (node index) at which to start reading. |
count | Number of rows (number of nodes) to read. |
coordinates | Buffer in which to write node coordinate data. |
status | Passed back status of API call. |
Definition at line 177 of file nodes.c.
References API_BEGIN, API_END, and mhdf_read_data().
Referenced by main().
{
API_BEGIN;
mhdf_read_data( table_id, offset, count, H5T_NATIVE_DOUBLE, coords, H5P_DEFAULT, status );
API_END;
}
void mhdf_readNodeCoordsWithOpt | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
double * | coordinates, | ||
hid_t | read_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 183 of file nodes.c.
References API_BEGIN, API_END, and mhdf_read_data().
{
API_BEGIN;
mhdf_read_data( table_id, offset, count, H5T_NATIVE_DOUBLE, coords, prop, status );
API_END;
}
void mhdf_readNodeCoordWithOpt | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
int | dimension, | ||
double * | coords, | ||
hid_t | read_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 225 of file nodes.c.
References API_BEGIN, API_END, and mhdf_read_column().
{
API_BEGIN;
mhdf_read_column( table_id, dimension, offset, count, H5T_NATIVE_DOUBLE, coords, prop, status );
API_END;
}
void mhdf_writeNodeCoord | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
int | dimension, | ||
const double * | coords, | ||
mhdf_Status * | status | ||
) |
Write node coordinate data.
Write a single coordinate value (e.g. the 'x' coordinate) for a block of nodes.
data_handle | Handle returned from mhdf_createNodeCoords or mhdf_openNodeCoords . |
offset | Table row (node index) at which to start writing. |
count | Number of rows (number of nodes) to write. |
dimension | The coordinate to write (0->x, 1->y, ...) |
coords | Coordinate list. |
status | Passed back status of API call. |
Definition at line 195 of file nodes.c.
References API_BEGIN, API_END, and mhdf_write_column().
{
API_BEGIN;
mhdf_write_column( table_id, dimension, offset, count, H5T_NATIVE_DOUBLE, coords, H5P_DEFAULT, status );
API_END;
}
void mhdf_writeNodeCoords | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
const double * | coords, | ||
mhdf_Status * | status | ||
) |
Write node coordinate data.
Write interleaved coordinate data for a block of nodes
data_handle | Handle returned from mhdf_createNodeCoords or mhdf_openNodeCoords . |
offset | Table row (node index) at which to start writing. |
count | Number of rows (number of nodes) to write. |
coords | Interleaved node coordinate data. |
status | Passed back status of API call. |
Definition at line 159 of file nodes.c.
References API_BEGIN, API_END, and mhdf_write_data().
{
API_BEGIN;
mhdf_write_data( table_id, offset, count, H5T_NATIVE_DOUBLE, coords, H5P_DEFAULT, status );
API_END;
}
void mhdf_writeNodeCoordsWithOpt | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
const double * | coords, | ||
hid_t | write_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 165 of file nodes.c.
References API_BEGIN, API_END, and mhdf_write_data().
Referenced by moab::WriteHDF5::write_nodes().
{
API_BEGIN;
mhdf_write_data( table_id, offset, count, H5T_NATIVE_DOUBLE, coords, prop, status );
API_END;
}
void mhdf_writeNodeCoordWithOpt | ( | hid_t | data_handle, |
long | offset, | ||
long | count, | ||
int | dimension, | ||
const double * | coords, | ||
hid_t | write_prop, | ||
mhdf_Status * | status | ||
) |
Definition at line 206 of file nodes.c.
References API_BEGIN, API_END, and mhdf_write_column().
Referenced by moab::WriteHDF5::write_nodes().
{
API_BEGIN;
mhdf_write_column( table_id, dimension, offset, count, H5T_NATIVE_DOUBLE, coords, prop, status );
API_END;
}