summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/tng_io.c194
1 files changed, 194 insertions, 0 deletions
diff --git a/src/lib/tng_io.c b/src/lib/tng_io.c
index 121688d..d17d60b 100644
--- a/src/lib/tng_io.c
+++ b/src/lib/tng_io.c
@@ -6973,6 +6973,26 @@ static tng_function_status tng_frame_set_finalize
// return(TNG_SUCCESS);
// }
*/
+
+tng_function_status tng_atom_name_get(tng_trajectory_t tng_data,
+ const tng_atom_t atom,
+ char *name,
+ const int max_len)
+{
+ (void) tng_data;
+ TNG_ASSERT(atom, "TNG library: atom must not be NULL");
+ TNG_ASSERT(name, "TNG library: name must not be a NULL pointer");
+
+ strncpy(name, atom->name, max_len - 1);
+ name[max_len - 1] = 0;
+
+ if(strlen(atom->name) > (unsigned int)max_len - 1)
+ {
+ return(TNG_FAILURE);
+ }
+ return(TNG_SUCCESS);
+}
+
tng_function_status tng_atom_name_set(tng_trajectory_t tng_data,
tng_atom_t atom,
const char *new_name)
@@ -7008,6 +7028,25 @@ tng_function_status tng_atom_name_set(tng_trajectory_t tng_data,
return(TNG_SUCCESS);
}
+tng_function_status tng_atom_type_get(tng_trajectory_t tng_data,
+ const tng_atom_t atom,
+ char *type,
+ const int max_len)
+{
+ (void) tng_data;
+ TNG_ASSERT(atom, "TNG library: atom must not be NULL");
+ TNG_ASSERT(type, "TNG library: type must not be a NULL pointer");
+
+ strncpy(type, atom->atom_type, max_len - 1);
+ type[max_len - 1] = 0;
+
+ if(strlen(atom->atom_type) > (unsigned int)max_len - 1)
+ {
+ return(TNG_FAILURE);
+ }
+ return(TNG_SUCCESS);
+}
+
tng_function_status tng_atom_type_set(tng_trajectory_t tng_data,
tng_atom_t atom,
const char *new_type)
@@ -7259,6 +7298,25 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_existing_add
return(TNG_SUCCESS);
}
+tng_function_status tng_molecule_name_get(tng_trajectory_t tng_data,
+ const tng_molecule_t molecule,
+ char *name,
+ const int max_len)
+{
+ (void) tng_data;
+ TNG_ASSERT(molecule, "TNG library: molecule must not be NULL");
+ TNG_ASSERT(name, "TNG library: name must not be a NULL pointer");
+
+ strncpy(name, molecule->name, max_len - 1);
+ name[max_len - 1] = 0;
+
+ if(strlen(molecule->name) > (unsigned int)max_len - 1)
+ {
+ return(TNG_FAILURE);
+ }
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_molecule_name_set
(tng_trajectory_t tng_data,
tng_molecule_t molecule,
@@ -7532,6 +7590,57 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_system_copy(tng_trajectory_t
return(TNG_SUCCESS);
}
+tng_function_status DECLSPECDLLEXPORT tng_molecule_chains_get
+ (const tng_trajectory_t tng_data,
+ const tng_molecule_t molecule,
+ tng_chain_t **chains,
+ int64_t *n)
+{
+ (void) tng_data;
+ TNG_ASSERT(molecule, "TNG library: molecule must not be NULL");
+ TNG_ASSERT(chains, "TNG library: chains must not be a NULL pointer");
+ TNG_ASSERT(n, "TNG library: n must not be a NULL pointer");
+
+ *chains = &molecule->chains;
+ *n = molecule->n_chains;
+
+ return(TNG_SUCCESS);
+}
+
+tng_function_status DECLSPECDLLEXPORT tng_molecule_residues_get
+ (const tng_trajectory_t tng_data,
+ const tng_molecule_t molecule,
+ tng_residue_t **residues,
+ int64_t *n)
+{
+ (void) tng_data;
+ TNG_ASSERT(molecule, "TNG library: molecule must not be NULL");
+ TNG_ASSERT(residues, "TNG library: residues must not be a NULL pointer");
+ TNG_ASSERT(n, "TNG library: n must not be a NULL pointer");
+
+ *residues = &molecule->residues;
+ *n = molecule->n_residues;
+
+ return(TNG_SUCCESS);
+}
+
+tng_function_status DECLSPECDLLEXPORT tng_molecule_atoms_get
+ (const tng_trajectory_t tng_data,
+ const tng_molecule_t molecule,
+ tng_atom_t **atoms,
+ int64_t *n)
+{
+ (void) tng_data;
+ TNG_ASSERT(molecule, "TNG library: molecule must not be NULL");
+ TNG_ASSERT(atoms, "TNG library: atoms must not be a NULL pointer");
+ TNG_ASSERT(n, "TNG library: n must not be a NULL pointer");
+
+ *atoms = &molecule->atoms;
+ *n = molecule->n_atoms;
+
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_find
(tng_trajectory_t tng_data,
tng_molecule_t molecule,
@@ -7712,6 +7821,25 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_atom_find
return(TNG_FAILURE);
}
+tng_function_status tng_chain_name_get(const tng_trajectory_t tng_data,
+ const tng_chain_t chain,
+ char *name,
+ const int max_len)
+{
+ (void) tng_data;
+ TNG_ASSERT(chain, "TNG library: chain must not be NULL");
+ TNG_ASSERT(name, "TNG library: name must not be a NULL pointer");
+
+ strncpy(name, chain->name, max_len - 1);
+ name[max_len - 1] = 0;
+
+ if(strlen(chain->name) > (unsigned int)max_len - 1)
+ {
+ return(TNG_FAILURE);
+ }
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_chain_name_set
(tng_trajectory_t tng_data,
tng_chain_t chain,
@@ -7747,6 +7875,23 @@ tng_function_status DECLSPECDLLEXPORT tng_chain_name_set
return(TNG_SUCCESS);
}
+tng_function_status DECLSPECDLLEXPORT tng_chain_residues_get
+ (const tng_trajectory_t tng_data,
+ const tng_chain_t chain,
+ tng_residue_t **residues,
+ int64_t *n)
+{
+ (void) tng_data;
+ TNG_ASSERT(chain, "TNG library: chain must not be NULL");
+ TNG_ASSERT(residues, "TNG library: residues must not be a NULL pointer");
+ TNG_ASSERT(n, "TNG library: n must not be a NULL pointer");
+
+ *residues = &chain->residues;
+ *n = chain->n_residues;
+
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_chain_residue_find
(tng_trajectory_t tng_data,
tng_chain_t chain,
@@ -7886,6 +8031,25 @@ tng_function_status DECLSPECDLLEXPORT tng_chain_residue_w_id_add
return(stat);
}
+tng_function_status tng_residue_name_get(tng_trajectory_t tng_data,
+ const tng_residue_t residue,
+ char *name,
+ const int max_len)
+{
+ (void) tng_data;
+ TNG_ASSERT(residue, "TNG library: residue must not be NULL");
+ TNG_ASSERT(name, "TNG library: name must not be a NULL pointer");
+
+ strncpy(name, residue->name, max_len - 1);
+ name[max_len - 1] = 0;
+
+ if(strlen(residue->name) > (unsigned int)max_len - 1)
+ {
+ return(TNG_FAILURE);
+ }
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_residue_name_set(tng_trajectory_t tng_data,
tng_residue_t residue,
const char *new_name)
@@ -7921,6 +8085,24 @@ tng_function_status DECLSPECDLLEXPORT tng_residue_name_set(tng_trajectory_t tng_
return(TNG_SUCCESS);
}
+tng_function_status DECLSPECDLLEXPORT tng_residue_atoms_get
+ (const tng_trajectory_t tng_data,
+ const tng_molecule_t molecule,
+ const tng_residue_t residue,
+ tng_atom_t **atoms,
+ int64_t *n)
+{
+ (void) tng_data;
+ TNG_ASSERT(residue, "TNG library: residue must not be NULL");
+ TNG_ASSERT(atoms, "TNG library: atoms must not be a NULL pointer");
+ TNG_ASSERT(n, "TNG library: n must not be a NULL pointer");
+
+ **atoms = &molecule->atoms[residue->atoms_offset];
+ *n = residue->n_atoms;
+
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_residue_atom_add
(tng_trajectory_t tng_data,
tng_residue_t residue,
@@ -10273,6 +10455,18 @@ tng_function_status DECLSPECDLLEXPORT tng_num_particles_get
return(TNG_SUCCESS);
}
+tng_function_status DECLSPECDLLEXPORT tng_num_particles_variable_get
+ (const tng_trajectory_t tng_data,
+ tng_variable_n_atoms_flag *variable)
+{
+ TNG_ASSERT(tng_data, "TNG library: Trajectory container not properly setup.");
+ TNG_ASSERT(variable, "TNG library: variable must not be a NULL pointer");
+
+ *variable = tng_data->var_num_atoms_flag;
+
+ return(TNG_SUCCESS);
+}
+
tng_function_status DECLSPECDLLEXPORT tng_num_molecule_types_get
(const tng_trajectory_t tng_data,
int64_t *n)
contact: Jan Huwald // Impressum