Skip navigation links
(CGNS Documentation Home Page) (Steering Committee Charter) (Overview and Entry-Level Document) (A User's Guide to CGNS) (Mid-Level Library) (Standard Interface Data Structures) (SIDS File Mapping Manual) (CGIO User's Guide) (Parallel CGNS User's Guide) (ADF Implementation) (HDF5 Implementation) (Python Implementation) (CGNS Tools and Utilities)

(The CGIO Software Library) (Database-Level Routines) (Data Structure Management Routines) (Link Management Routines) (Node Management Routines) (Data I/O Routines) (Error Messages and Routines) (Miscellaneous Routines) (Example Programs)

Data Structure Management Routines

Functions Modes
ier = cgio_create_node(int cgio_num, double pid, const char *name,
      double *id);
- w m
ier = cgio_new_node(int cgio_num, double pid, const char *name,
      const char *label, const char *data_type, int ndims,
      const cgsize_t *dims, const void *data, double *id);
- w m
ier = cgio_delete_node(int cgio_num, double pid, double id); - w m
ier = cgio_move_node(int cgio_num, double pid, double id, double new_pid); - w m
ier = cgio_number_children(int cgio_num, double id, int *num_child); r w m
ier = cgio_children_names(int cgio_num, double id, int start, int max_ret,
      int name_len, int *num_ret, char *child_names);
r w m
ier = cgio_children_ids(int cgio_num, double id, int start, int max_ret,
      int *num_ret, char *child_ids);
r w m
call cgio_create_node_f(cgio_num, pid, name, id, ier) - w m
call cgio_new_node_f(cgio_num, pid, name, label, data_type, ndims,
      dims, data, id, ier);
- w m
call cgio_delete_node_f(cgio_num, pid, id, ier) - w m
call cgio_move_node_f(cgio_num, pid, id, new_pid, ier) - w m
call cgio_number_children_f(cgio_num, id, num_child, ier) r w m
call cgio_children_names_f(cgio_num, id, start, max_ret, name_len,
     num_ret, child_names, ier)
r w m
call cgio_children_ids_f(cgio_num, id, start, max_ret,
     num_ret, child_ids, ier)
r w m

Input/Output

    cgio_num   Database identifier.
pid Parent node identifier.
id Node identifier.
name Node name (max length 32).
label Node label (max length 32).
data_type Type of data contained in the node. One of "MT", "I4", "I8", "U4", "U8", "R4", "C1", or "B1".
ndims Number of dimensions for the data (max 12).
dims Data dimension values (ndims values).
data Data array to be stored with the node.
new_pid New parent node identifier under which the node is to be moved.
num_child Number of children of the specified node.
start Starting index for returned child names or ids (1 <= start <= num_child).
max_ret Maximum child names or ids to be returned (1 <= max_ret <= num_child-start+1).
name_len Length reserved for each returned child name.
num_ret Number of returned values of child names or identifiers.
child_names Child node names (num_ret values). This array should be dimensioned at least (name_len * max_ret).
child_ids Child node identifiers (num_ret values). This array should be dimensioned at least (max_ret).
ier Error status.

Function Descriptions

cgio_create_node
Creates a new empty node in the database given by cgio_num as a child of the node identified by pid. The name of the new node is given by name, and must not already exist as a child of the parent node. The node will contain no label, dimensions, or data. Use the Node Management Routines to change the properties of the node, and the Data I/O Routines to add data. Returns 0 and the identifier of the new node in id on success, else an error code.
 
cgio_new_node
Creates a new node in the database given by cgio_num as a child of the node identified by pid. The name of the new node is given by name, and must not already exist as a child of the parent node. The node label is given by label, the type of data by data_type, the dimensions of the data by ndims and dims, and the data to write to the node by data. This is equivalent to calling the routines:
    cgio_create_node
    cgio_set_label
    cgio_set_dimensions
    cgio_write_all_data
    
Returns 0 and the identifier of the new node in id on success, else an error code.
 
cgio_delete_node
Deletes the node identified by id below the parent node identified by pid in the database given by cgio_num. All children of the deleted node will also be deleted unless a link is encountered. The link node will be deleted but nothing below it. Returns 0 on success, else an error code.
 
cgio_move_node
Moves the node indentified by id below the parent node identified by pid to below the new parent node identified by new_pid in the database given by cgio_num. A node by the same name as that that for id must not already exist under new_pid. A node may only be moved if it and the parent nodes all reside in the sane physical database. Returns 0 on success, else an error code.
 
cgio_number_children
Gets the number of children of the node identified by id in the database given by cgio_num, Returns 0 and the number of children in num_child on success, else an error code.
 
cgio_children_names
Gets the names of the children of the node identified by id in the database given by cgio_num. The starting index for the array of names is given by start, and the maximum number of names to return by max_ret. Both start and max_ret should be between 1 and num_child, inclusively. The size reserved for each name in child_names is given by name_len. The array child_names should be dimensioned at least (name_len * max_ret). Since node names are limited to a length of CGIO_MAX_NAME_LENGHT (32), name_len should be at least 32 to ensure the returned names are mot truncated. In C, an additional byte should be added to name_len allow for the terminating '0' for each name. If successfull, the function returns 0; the actual number of returned names is given by num_ret, and the array of names in child_names. In C, the names are '0'-terminated within each name field. In Fortran, any unused space is padded with blanks (space character).
 
cgio_children_ids
Gets the node identifiers of the children of the node identified by id in the database given by cgio_num. The starting index for the array of ids is given by start, and the maximum ids to return by max_ret. Both start and max_ret should be between 1 and num_child, inclusively. The array child_ids should be dimensioned at least (max_ret). If successfull, the function returns 0; the actual number of returned ids is given by num_ret, and the array of identifiers in child_ids.