ExodusII
5.15
|
Functions | |
int | ex_get_coord (int exoid, void *x_coor, void *y_coor, void *z_coor) |
int ex_get_coord | ( | int | exoid, |
void * | x_coor, | ||
void * | y_coor, | ||
void * | z_coor | ||
) |
The function ex_get_coord() reads the nodal coordinates of the nodes. Memory must be allocated for the coordinate arrays (x_coor
, y_coor
, and z_coor
) before this call is made. The length of each of these arrays is the number of nodes in the mesh.
Because the coordinates are floating point values, the application code must declare the arrays passed to be the appropriate type (float
or double
) to match the compute word size passed in ex_create() or ex_open().
[in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open(). |
[out] | x_coor | Returned X coordinates of the nodes. If this is NULL , the X-coordinates will not be read. |
[out] | y_coor | Returned Y coordinates of the nodes. These are returned only if num_dim > 1; otherwise, pass in NULL . If this is NULL , the Y-coordinates will not be read. |
[out] | z_coor | Returned Z coordinates of the nodes. These are returned only if num_dim > 2; otherwise, pass in NULL . If this is NULL , the Z-coordinates will not be read. |
The following code segment will read the nodal coordinates from an open exodus file :
int error, exoid; double *x, *y, *z; \comment{read nodal coordinates values from database} x = (double *)calloc(num_nodes, sizeof(double)); y = (double *)calloc(num_nodes, sizeof(double)); if (num_dim >= 3) z = (double *)calloc(num_nodes, sizeof(double)); else z = 0; error = ex_get_coord(exoid, x, y, z); \comment{Do the same as the previous call in three separate calls} error = ex_get_coord(exoid, x, NULL, NULL); error = ex_get_coord(exoid, NULL, y, NULL); if (num_dim >= 3) error = ex_get_coord(exoid, NULL, NULL, z);