diff options
author | Magnus Lundborg <lundborg.magnus@gmail.com> | 2013-01-15 22:22:58 (GMT) |
---|---|---|
committer | Magnus Lundborg <lundborg.magnus@gmail.com> | 2013-01-15 22:22:58 (GMT) |
commit | ab946d2ddef6fb090c85de269f84eaa96f6ab01b (patch) | |
tree | 91b822c0fe0a5b975b244931f042254b5213d439 /src/lib/tng_io.c | |
parent | 4e19acea5ae1286f1f5161a0aea94b978fb6374f (diff) |
Fixed bug in tng_current_frame_set_get. Improved parallel reading example.
Diffstat (limited to 'src/lib/tng_io.c')
-rw-r--r-- | src/lib/tng_io.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/lib/tng_io.c b/src/lib/tng_io.c index 3da1ceb..fd20180 100644 --- a/src/lib/tng_io.c +++ b/src/lib/tng_io.c @@ -6228,11 +6228,12 @@ tng_function_status tng_trajectory_copy(tng_trajectory_t src, dest->medium_stride_length = src->medium_stride_length; dest->long_stride_length = src->long_stride_length; - dest->n_particle_data_blocks = src->n_particle_data_blocks; - dest->n_data_blocks = src->n_data_blocks; - - dest->non_tr_particle_data = src->non_tr_particle_data; - dest->non_tr_data = src->non_tr_data; + /* Currently the non trajectory data blocks are not copied since it + * can lead to problems when freeing memory in a parallel block. */ + dest->n_particle_data_blocks = 0; + dest->n_data_blocks = 0; + dest->non_tr_particle_data = 0; + dest->non_tr_data = 0; frame_set->first_frame = -1; frame_set->n_mapping_blocks = 0; @@ -6974,10 +6975,10 @@ tng_function_status tng_num_frame_sets_get(const tng_trajectory_t tng_data, } tng_function_status tng_current_frame_set_get - (const tng_trajectory_t tng_data, - tng_trajectory_frame_set_t frame_set) + (tng_trajectory_t tng_data, + tng_trajectory_frame_set_t *frame_set) { - frame_set = &tng_data->current_trajectory_frame_set; + *frame_set = &tng_data->current_trajectory_frame_set; return(TNG_SUCCESS); } @@ -7625,6 +7626,18 @@ tng_function_status tng_frame_set_prev_frame_set_file_pos_get return(TNG_SUCCESS); } +tng_function_status tng_frame_set_frame_range_get + (const tng_trajectory_t tng_data, + const tng_trajectory_frame_set_t frame_set, + int64_t *first_frame, + int64_t *last_frame) +{ + *first_frame = frame_set->first_frame; + *last_frame = *first_frame + frame_set->n_frames - 1; + + return(TNG_SUCCESS); +} + /** Translate from the particle numbering used in a frame set to the real * particle numbering - used in the molecule description. * @param frame_set is the frame_set containing the mappings to use. |