From b3d5d41ca60e3a25ddc50f6205c2e7a75cf6903f Mon Sep 17 00:00:00 2001 From: Sebastian Piwell Date: Tue, 24 May 2016 16:00:18 -0400 Subject: [PATCH] Auto filter property --- modules/iswa/rendering/dataplane.cpp | 7 +++++-- modules/iswa/rendering/dataplane.h | 4 +++- modules/iswa/rendering/datasphere.cpp | 8 ++++++-- modules/iswa/rendering/datasphere.h | 3 +++ modules/iswa/rendering/kameleonplane.cpp | 8 ++++++-- modules/iswa/rendering/kameleonplane.h | 3 +++ modules/onscreengui/include/guiiswacomponent.h | 1 - modules/onscreengui/src/guiiswacomponent.cpp | 1 - 8 files changed, 26 insertions(+), 9 deletions(-) diff --git a/modules/iswa/rendering/dataplane.cpp b/modules/iswa/rendering/dataplane.cpp index 2e340b7bc8..06c40d39f0 100644 --- a/modules/iswa/rendering/dataplane.cpp +++ b/modules/iswa/rendering/dataplane.cpp @@ -45,6 +45,7 @@ DataPlane::DataPlane(const ghoul::Dictionary& dictionary) :CygnetPlane(dictionary) ,_useLog("useLog","Use Logarithm", false) ,_useHistogram("useHistogram", "Use Histogram", true) + ,_autoFilter("autoFilter", "Auto Filter", true) ,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0)) ,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0)) ,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf") @@ -59,13 +60,13 @@ DataPlane::DataPlane(const ghoul::Dictionary& dictionary) addProperty(_useLog); addProperty(_useHistogram); + addProperty(_autoFilter); addProperty(_normValues); addProperty(_backgroundValues); addProperty(_transferFunctionsFile); addProperty(_dataOptions); _type = IswaManager::CygnetType::Data; - } DataPlane::~DataPlane(){} @@ -78,6 +79,7 @@ bool DataPlane::initialize(){ }else{ OsEng.gui()._iswa.registerProperty(&_useLog); OsEng.gui()._iswa.registerProperty(&_useHistogram); + OsEng.gui()._iswa.registerProperty(&_autoFilter); OsEng.gui()._iswa.registerProperty(&_normValues); OsEng.gui()._iswa.registerProperty(&_backgroundValues); OsEng.gui()._iswa.registerProperty(&_transferFunctionsFile); @@ -196,7 +198,8 @@ bool DataPlane::loadTexture() { if(data.empty()) return false; - _backgroundValues.setValue(_dataProcessor->filterValues()); + if(_autoFilter.value()) + _backgroundValues.setValue(_dataProcessor->filterValues()); bool texturesReady = false; std::vector selectedOptions = _dataOptions.value(); diff --git a/modules/iswa/rendering/dataplane.h b/modules/iswa/rendering/dataplane.h index 0df396ce4c..be8fed1b20 100644 --- a/modules/iswa/rendering/dataplane.h +++ b/modules/iswa/rendering/dataplane.h @@ -58,9 +58,11 @@ friend class IswaGroup; properties::Vec2Property _backgroundValues; properties::Vec2Property _normValues; + properties::BoolProperty _useLog; properties::BoolProperty _useHistogram; - + properties::BoolProperty _autoFilter; + std::string _dataBuffer; std::shared_ptr _dataProcessor; diff --git a/modules/iswa/rendering/datasphere.cpp b/modules/iswa/rendering/datasphere.cpp index c3ebda4814..ab533a7307 100644 --- a/modules/iswa/rendering/datasphere.cpp +++ b/modules/iswa/rendering/datasphere.cpp @@ -40,6 +40,7 @@ DataSphere::DataSphere(const ghoul::Dictionary& dictionary) :CygnetSphere(dictionary) ,_useLog("useLog","Use Logarithm", false) ,_useHistogram("useHistogram", "Use Histogram", true) + ,_autoFilter("autoFilter", "Auto Filter", true) ,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0)) ,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0)) ,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf") @@ -53,6 +54,7 @@ DataSphere::DataSphere(const ghoul::Dictionary& dictionary) addProperty(_useLog); addProperty(_useHistogram); + addProperty(_autoFilter); addProperty(_normValues); addProperty(_backgroundValues); addProperty(_transferFunctionsFile); @@ -71,6 +73,7 @@ bool DataSphere::initialize(){ }else{ OsEng.gui()._iswa.registerProperty(&_useLog); OsEng.gui()._iswa.registerProperty(&_useHistogram); + OsEng.gui()._iswa.registerProperty(&_autoFilter); OsEng.gui()._iswa.registerProperty(&_normValues); OsEng.gui()._iswa.registerProperty(&_backgroundValues); OsEng.gui()._iswa.registerProperty(&_transferFunctionsFile); @@ -141,8 +144,9 @@ bool DataSphere::loadTexture(){ if(data.empty()) return false; - - _backgroundValues.setValue(_dataProcessor->filterValues()); + + if(_autoFilter.value()) + _backgroundValues.setValue(_dataProcessor->filterValues()); bool texturesReady = false; std::vector selectedOptions = _dataOptions.value(); diff --git a/modules/iswa/rendering/datasphere.h b/modules/iswa/rendering/datasphere.h index d4062df57e..925be95528 100644 --- a/modules/iswa/rendering/datasphere.h +++ b/modules/iswa/rendering/datasphere.h @@ -65,8 +65,11 @@ private: properties::Vec2Property _backgroundValues; properties::Vec2Property _normValues; + properties::BoolProperty _useLog; properties::BoolProperty _useHistogram; + properties::BoolProperty _autoFilter; + std::string _dataBuffer; std::shared_ptr _dataProcessor; diff --git a/modules/iswa/rendering/kameleonplane.cpp b/modules/iswa/rendering/kameleonplane.cpp index 54c97978a3..609298c33c 100644 --- a/modules/iswa/rendering/kameleonplane.cpp +++ b/modules/iswa/rendering/kameleonplane.cpp @@ -51,6 +51,7 @@ KameleonPlane::KameleonPlane(const ghoul::Dictionary& dictionary) :CygnetPlane(dictionary) ,_useLog("useLog","Use Logarithm", false) ,_useHistogram("useHistogram", "Use Histogram", false) + ,_autoFilter("autoFilter", "Auto Filter", true) ,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0)) ,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0)) ,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf") @@ -67,6 +68,7 @@ KameleonPlane::KameleonPlane(const ghoul::Dictionary& dictionary) addProperty(_useLog); addProperty(_useHistogram); + addProperty(_autoFilter); addProperty(_normValues); addProperty(_backgroundValues); addProperty(_resolution); @@ -139,6 +141,7 @@ bool KameleonPlane::initialize(){ }else{ OsEng.gui()._iswa.registerProperty(&_useLog); OsEng.gui()._iswa.registerProperty(&_useHistogram); + OsEng.gui()._iswa.registerProperty(&_autoFilter); OsEng.gui()._iswa.registerProperty(&_normValues); OsEng.gui()._iswa.registerProperty(&_backgroundValues); OsEng.gui()._iswa.registerProperty(&_resolution); @@ -271,8 +274,9 @@ bool KameleonPlane::loadTexture() { if(data.empty()) return false; - - _backgroundValues.setValue(_dataProcessor->filterValues()); + + if(_autoFilter.value()) + _backgroundValues.setValue(_dataProcessor->filterValues()); bool texturesReady = false; for(int option: selectedOptions){ diff --git a/modules/iswa/rendering/kameleonplane.h b/modules/iswa/rendering/kameleonplane.h index 74293115ef..e7f3dd1765 100644 --- a/modules/iswa/rendering/kameleonplane.h +++ b/modules/iswa/rendering/kameleonplane.h @@ -77,8 +77,11 @@ properties::Vec2Property _backgroundValues; properties::Vec2Property _normValues; + properties::BoolProperty _useLog; properties::BoolProperty _useHistogram; + properties::BoolProperty _autoFilter; + std::shared_ptr _kw; std::string _kwPath; diff --git a/modules/onscreengui/include/guiiswacomponent.h b/modules/onscreengui/include/guiiswacomponent.h index 2aeaef3b18..3b3e8b4e10 100644 --- a/modules/onscreengui/include/guiiswacomponent.h +++ b/modules/onscreengui/include/guiiswacomponent.h @@ -47,7 +47,6 @@ private: bool gmimage; bool iondata; - int _cdfOption; std::vector _cdfOptions; std::map _cdfOptionsMap; }; diff --git a/modules/onscreengui/src/guiiswacomponent.cpp b/modules/onscreengui/src/guiiswacomponent.cpp index a475dc7d3e..1006e8d1f6 100644 --- a/modules/onscreengui/src/guiiswacomponent.cpp +++ b/modules/onscreengui/src/guiiswacomponent.cpp @@ -59,7 +59,6 @@ namespace openspace { namespace gui { GuiIswaComponent::GuiIswaComponent() :GuiPropertyComponent() - ,_cdfOption(-1) {} void GuiIswaComponent::render() {