From 69a3bfb1cfc93d05cbdf71c50b3142e6a0e41a8a Mon Sep 17 00:00:00 2001 From: Jonathan Grangien Date: Thu, 14 Jun 2018 16:50:33 -0400 Subject: [PATCH] Implement vector variable length and better progress cb in kameleonvolumetorawtask --- data/tasks/mas_bastille_single_conversion.task | 13 +++++++++++++ modules/kameleonvolume/kameleonvolumereader.cpp | 7 +++++++ modules/kameleonvolume/kameleonvolumereader.h | 5 +++-- .../tasks/kameleonvolumetorawtask.cpp | 1 - 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 data/tasks/mas_bastille_single_conversion.task diff --git a/data/tasks/mas_bastille_single_conversion.task b/data/tasks/mas_bastille_single_conversion.task new file mode 100644 index 0000000000..514a487add --- /dev/null +++ b/data/tasks/mas_bastille_single_conversion.task @@ -0,0 +1,13 @@ + +return {{ + Type = "KameleonVolumeToRawTask", + Input = "/media/jgrangien/SimDataDrive/BastilleDay/mhd_run/3D_CDF/mas_merged_step_112.cdf", + -- Variable = "rho", + VariableVector = "ur uphi utheta", + InnerRadialLimit = 1.75, + Dimensions = {100, 100, 128}, + LowerDomainBound = {1, -90, 0}, + UpperDomainBound = {15, 90, 360}, + RawVolumeOutput = "${DATA}/mas/bastille/u/mas_merged_step_112.rawvolume", + DictionaryOutput = "${DATA}/mas/bastille/u/mas_merged_step_112.dictionary" +}} diff --git a/modules/kameleonvolume/kameleonvolumereader.cpp b/modules/kameleonvolume/kameleonvolumereader.cpp index f3aed24f6d..937b0bd3d0 100644 --- a/modules/kameleonvolume/kameleonvolumereader.cpp +++ b/modules/kameleonvolume/kameleonvolumereader.cpp @@ -159,6 +159,12 @@ std::unique_ptr> KameleonVolumeReader::readFloatVolume( continue; } + // Radius is within custom limit of exclusion, skip value + if (volumeCoords.x < innerRadialLimit) { + // std::cout << "Skipping radius " << volumeCoords.x << std::endl; + continue; + } + float value = !variable.empty() ? sample(volumeCoords) : sampleVectorVariablesLength(volumeCoords); // Multiply value by the squared first coordinate @@ -341,3 +347,4 @@ void KameleonVolumeReader::setReaderCallback(callback_t& cb) { }; } // namespace openspace::kameleonvolume + diff --git a/modules/kameleonvolume/kameleonvolumereader.h b/modules/kameleonvolume/kameleonvolumereader.h index 26180114a5..1433a60136 100644 --- a/modules/kameleonvolume/kameleonvolumereader.h +++ b/modules/kameleonvolume/kameleonvolumereader.h @@ -30,10 +30,9 @@ #include #include #include -#include +// #include #include - #ifdef WIN32 #pragma warning (push) #pragma warning (disable : 4619) // #pragma warning: there is no warning number '4619' @@ -93,6 +92,8 @@ public: void setReaderCallback(callback_t& cb); + void setReaderCallback(callback_t& cb); + private: static void addAttributeToDictionary(ghoul::Dictionary& dictionary, const std::string& key, ccmc::Attribute& attr); diff --git a/modules/kameleonvolume/tasks/kameleonvolumetorawtask.cpp b/modules/kameleonvolume/tasks/kameleonvolumetorawtask.cpp index 14547192de..55f91f7aea 100644 --- a/modules/kameleonvolume/tasks/kameleonvolumetorawtask.cpp +++ b/modules/kameleonvolume/tasks/kameleonvolumetorawtask.cpp @@ -35,7 +35,6 @@ #include #include - namespace { constexpr const char* KeyInput = "Input"; constexpr const char* KeyRawVolumeOutput = "RawVolumeOutput";