diff --git a/data/scene/default.scene b/data/scene/default.scene index 5b66353362..fbac639198 100644 --- a/data/scene/default.scene +++ b/data/scene/default.scene @@ -33,12 +33,12 @@ function postInitialization() --openspace.iswa.addCygnet(7); - openspace.iswa.addCygnet(-4,"Data","Gm"); - openspace.iswa.addCygnet(-5,"Data","Gm"); - openspace.iswa.addCygnet(-6,"Data","Gm"); - openspace.iswa.addCygnet(-7,"Data","Gm"); - openspace.iswa.addCygnet(-8,"Data","Gm"); - openspace.iswa.addCygnet(-9,"Data","Gm"); + --openspace.iswa.addCygnet(-4,"Data","Gm"); + --openspace.iswa.addCygnet(-5,"Data","Gm"); + --openspace.iswa.addCygnet(-6,"Data","Gm"); + --openspace.iswa.addCygnet(-7,"Data","Gm"); + --openspace.iswa.addCygnet(-8,"Data","Gm"); + --openspace.iswa.addCygnet(-9,"Data","Gm"); end diff --git a/modules/iswa/util/dataprocessor.cpp b/modules/iswa/util/dataprocessor.cpp index d0897ec2f5..29cd05a358 100644 --- a/modules/iswa/util/dataprocessor.cpp +++ b/modules/iswa/util/dataprocessor.cpp @@ -184,6 +184,7 @@ void DataProcessor::add(std::vector>& optionValues, std::vect _numValues[i] += numValues; _histograms[i]->generateEqualizer(); + // _histograms[i]->print(); } } diff --git a/modules/iswa/util/dataprocessortext.cpp b/modules/iswa/util/dataprocessortext.cpp index cb40436e71..d9463f4d67 100644 --- a/modules/iswa/util/dataprocessortext.cpp +++ b/modules/iswa/util/dataprocessortext.cpp @@ -25,6 +25,13 @@ #include #include #include + +#include +#include +#include +#include +#include + namespace { const std::string _loggerCat = "DataProcessorText"; } @@ -115,12 +122,14 @@ void DataProcessorText::addDataValues(std::string data, properties::SelectionPro } } + add(optionValues, sum); } } std::vector DataProcessorText::processData(std::string data, properties::SelectionProperty& dataOptions, glm::size3_t& dimensions){ if(!data.empty()){ + std::string line; std::stringstream memorystream(data); @@ -136,26 +145,50 @@ std::vector DataProcessorText::processData(std::string data, properties: dataOptions[option] = new float[dimensions.x*dimensions.y]{0.0f}; } + // FOR TESTING + // =========== + // std::chrono::time_point start, end; + // start = std::chrono::system_clock::now(); + // =========== + int numValues = 0; while(getline(memorystream, line)){ if(line.find("#") == 0) continue; values = std::vector(); - std::stringstream ss(line); - copy( - std::istream_iterator (ss), - std::istream_iterator (), - back_inserter(values) - ); - for(int option : selectedOptions){ - value = values[option+3]; //+3 because options x, y and z in the file - dataOptions[option][numValues] = processDataPoint(value, option); + int first = 0; + int last = 0; + int option = -3; + int lineSize = line.size(); + + while(last < lineSize){ + + first = line.find_first_not_of(" \t", last); + last = line.find_first_of(" \t", first); + last = (last > 0)? last : lineSize; + // boost::spirit::qi::parse(&line[first], &line[last], boost::spirit::qi::double_, value); + value = std::stof(line.substr(first, last)); + + if(option >= 0 && std::find(selectedOptions.begin(), selectedOptions.end(), option) != selectedOptions.end()) + dataOptions[option][numValues] = processDataPoint(value, option); + + option++; } + numValues++; } calculateFilterValues(selectedOptions); + + // FOR TESTING + // =========== + // end = std::chrono::system_clock::now(); + // std::chrono::duration elapsed_seconds = end-start; + // std::cout << "time: " << elapsed_seconds.count() << "\n"; + // =========== + + return dataOptions; } return std::vector(); diff --git a/modules/onscreengui/src/guiiswacomponent.cpp b/modules/onscreengui/src/guiiswacomponent.cpp index 808d6afc8e..eac62a75bf 100644 --- a/modules/onscreengui/src/guiiswacomponent.cpp +++ b/modules/onscreengui/src/guiiswacomponent.cpp @@ -88,9 +88,9 @@ void GuiIswaComponent::render() { if(_gmdata != gmdatavalue){ if(_gmdata){ - std::string x = "openspace.iswa.addCygnet(-1,'Data','GMData');"; - std::string y = "openspace.iswa.addCygnet(-2,'Data','GMData');"; - std::string z = "openspace.iswa.addCygnet(-3,'Data','GMData');"; + std::string x = "openspace.iswa.addCygnet(-4,'Data','GMData');"; + std::string y = "openspace.iswa.addCygnet(-5,'Data','GMData');"; + std::string z = "openspace.iswa.addCygnet(-6,'Data','GMData');"; OsEng.scriptEngine().queueScript(x+y+z); }else{ OsEng.scriptEngine().queueScript("openspace.iswa.removeGroup('GMData');"); @@ -99,9 +99,9 @@ void GuiIswaComponent::render() { if(_gmimage != gmimagevalue){ if(_gmimage){ - std::string x = "openspace.iswa.addCygnet(-1,'Texture','GMImage');"; - std::string y = "openspace.iswa.addCygnet(-2,'Texture','GMImage');"; - std::string z = "openspace.iswa.addCygnet(-3,'Texture','GMImage');"; + std::string x = "openspace.iswa.addCygnet(-4,'Texture','GMImage');"; + std::string y = "openspace.iswa.addCygnet(-5,'Texture','GMImage');"; + std::string z = "openspace.iswa.addCygnet(-6,'Texture','GMImage');"; OsEng.scriptEngine().queueScript(x+y+z); }else{ OsEng.scriptEngine().queueScript("openspace.iswa.removeGroup('GMImage');"); diff --git a/src/util/histogram.cpp b/src/util/histogram.cpp index 16659adee5..94a8a83718 100644 --- a/src/util/histogram.cpp +++ b/src/util/histogram.cpp @@ -304,7 +304,7 @@ void Histogram::print() const { std::cout << i << " [" << low << ", " << high << "]" << " " << _data[i] << std::endl; } - std::cout << std::endl << std::endl << std::endl<< "==============" << std::endl; + // std::cout << std::endl << std::endl << std::endl<< "==============" << std::endl; } float Histogram::highestBinValue(bool equalized, int overBins){ @@ -341,7 +341,6 @@ float Histogram::highestBinValue(bool equalized, int overBins){ float high = low + (_maxValue - _minValue) / float(_numBins); if(!equalized){ - std::cout << (high+low)/2.0 << std::endl; return (high+low)/2.0; }else{ return equalize((high+low)/2.0);