[cig-commits] [commit] master: Not working yet, but progress (f5dd9f7)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Jan 28 22:37:52 PST 2015
Repository : https://github.com/geodynamics/vq
On branch : master
Link : https://github.com/geodynamics/vq/compare/4a71dae87966b80bfee7c194773543359a343617...941b3d7e55983967dea392d12aeac9ce3998ca30
>---------------------------------------------------------------
commit f5dd9f7e2c4bb7d87e4248874ca10118de2fe1a0
Author: Kasey Schultz <kwschultz at ucdavis.edu>
Date: Thu Dec 11 17:51:50 2014 -0800
Not working yet, but progress
>---------------------------------------------------------------
f5dd9f7e2c4bb7d87e4248874ca10118de2fe1a0
quakelib/src/QuakeLibIO.cpp | 44 ++++++++++++++++++++++----------------------
quakelib/src/QuakeLibIO.h | 6 ++++++
2 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/quakelib/src/QuakeLibIO.cpp b/quakelib/src/QuakeLibIO.cpp
index e4a6031..0744fbe 100644
--- a/quakelib/src/QuakeLibIO.cpp
+++ b/quakelib/src/QuakeLibIO.cpp
@@ -2886,8 +2886,8 @@ void quakelib::ModelEventSet::read_events_hdf5(const hid_t &data_file) {
size_t *field_offsets;
size_t *field_sizes;
herr_t res;
- ModelSweeps file_sweeps;
+ _events.clear();
descs.clear();
ModelEvent::get_field_descs(descs);
num_fields = descs.size();
@@ -2906,15 +2906,15 @@ void quakelib::ModelEventSet::read_events_hdf5(const hid_t &data_file) {
// TODO: check that num_fields matches the descs
event_data = new EventData[num_events];
- res = H5TBread_records(data_file, ModelSection::hdf5_table_name().c_str(), 0, num_events, sizeof(EventData), field_offsets, field_sizes, event_data);
+ res = H5TBread_records(data_file, ModelEvent::hdf5_table_name().c_str(), 0, num_events, sizeof(EventData), field_offsets, field_sizes, event_data);
if (res < 0) exit(-1);
// Read section data into the World
- for (i=0; i<num_sections; ++i) {
+ for (i=0; i<num_events; ++i) {
ModelEvent new_event;
new_event.read_data(event_data[i]);
- _data.insert(std::make_pair(new_event.getEventNumber(), new_event));
+ _events.push_back(new_event);
}
// Free memory for HDF5 related data
@@ -2925,10 +2925,12 @@ void quakelib::ModelEventSet::read_events_hdf5(const hid_t &data_file) {
void quakelib::ModelEventSet::read_sweeps_hdf5(const hid_t &data_file) {
std::vector<FieldDesc> descs;
- std::map<UIndex, ModelElement>::const_iterator fit;
- hsize_t num_fields, num_elements;
+ ModelEventSet::const_iterator fit;
+ hsize_t num_fields, num_sweeps;
unsigned int i;
- ElementData *element_data;
+ unsigned int *start_sweep;
+ unsigned int *end_sweep;
+ ModelSweeps *event_sweeps;
size_t *field_offsets;
size_t *field_sizes;
herr_t res;
@@ -2944,28 +2946,26 @@ void quakelib::ModelEventSet::read_sweeps_hdf5(const hid_t &data_file) {
field_sizes[i] = descs[i].size;
}
- res = H5TBget_table_info(data_file, ModelElement::hdf5_table_name().c_str(), &num_fields, &num_elements);
+ res = H5TBget_table_info(data_file, ModelSweeps::hdf5_table_name().c_str(), &num_fields, &num_sweeps);
if (res < 0) exit(-1);
- // TODO: check that num_fields matches the descs
-
- element_data = new ElementData[num_elements];
- res = H5TBread_records(data_file, ModelElement::hdf5_table_name().c_str(), 0, num_elements, sizeof(ElementData), field_offsets, field_sizes, element_data);
+ event_sweeps = new ModelSweeps[num_sweeps];
+ res = H5TBread_records(data_file, ModelSweeps::hdf5_table_name().c_str(), 0, num_sweeps, sizeof(ModelSweeps), field_offsets, field_sizes, event_sweeps);
if (res < 0) exit(-1);
- // Read element data into the World
- for (i=0; i<num_elements; ++i) {
- ModelElement new_element;
- new_element.read_data(element_data[i]);
- _elements.insert(std::make_pair(new_element.id(), new_element));
- }
+ // Read sweeps data into the ModelEventSet
+ for (fit=_events.begin(); fit!=_events.end(); ++fit) {
+ fit->getStartEndSweep(&start_sweep, &end_sweep);
+ ModelSweeps new_sweeps;
- // Free memory for HDF5 related data
- delete element_data;
- delete field_offsets;
- delete field_sizes;
+ for (i=*start_sweep; i<*end_sweep; i++) {
+ new_sweeps.read_data(event_sweeps[i]);
+ }
+ fit->setSweeps(new_sweeps);
+
+ }
}
#endif
diff --git a/quakelib/src/QuakeLibIO.h b/quakelib/src/QuakeLibIO.h
index ecc8d31..feb35b3 100644
--- a/quakelib/src/QuakeLibIO.h
+++ b/quakelib/src/QuakeLibIO.h
@@ -791,6 +791,12 @@ namespace quakelib {
_data._start_sweep_rec = start_sweep;
_data._end_sweep_rec = end_sweep;
}
+ void getStartEndSweep(unsigned int &start_sweep, unsigned int &end_sweep) {
+ start_sweep = _data._start_sweep_rec;
+ end_sweep = _data._end_sweep_rec;
+ }
+
+
unsigned int getNumRecordedSweeps(void) const {
return _data._end_sweep_rec - _data._start_sweep_rec;
};
More information about the CIG-COMMITS
mailing list