diff --git a/src/libRender/CMakeLists.txt b/src/libRender/CMakeLists.txt index 69f7d3526d01758b5901b6b0a1ed9d31b80874e3..b680987d8c1644ec83d37e32b73250050ac15c37 100644 --- a/src/libRender/CMakeLists.txt +++ b/src/libRender/CMakeLists.txt @@ -267,7 +267,6 @@ set(gui_sources RadiumNBR/Gui/RenderGraphEditor/SourceColorTextureModel.cpp RadiumNBR/Gui/RenderGraphEditor/SourceDepthTextureModel.cpp RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.cpp - RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.cpp RadiumNBR/VolumeVisualization/Gui/VolumeVisualizationGui.cpp RadiumNBR/Gui/MultiPassControllerGui.cpp RadiumNBR/Gui/NodeGraphControllerGui.cpp @@ -295,7 +294,6 @@ set(gui_public_headers RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp - RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.hpp RadiumNBR/Gui/RenderGraphEditor/ConnectionStatusData.hpp RadiumNBR/Gui/RenderGraphEditor/WidgetFactory.hpp diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.cpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.cpp deleted file mode 100644 index a8371fd28557a7bd9df13273953af0321d195940..0000000000000000000000000000000000000000 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.cpp +++ /dev/null @@ -1,110 +0,0 @@ -#if 0 -#include <RadiumNBR/Gui/PowerSlider.hpp> -#include <RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.hpp> -#include <RadiumNBR/Gui/RendererPanel.hpp> - -#include <filesystem> - -using namespace RadiumNBR::Gui; - -template <> -NodeBasedRenderer_LIBRARY_API EnvMapData EnvMapSourceModel::getDefault() { - return nullptr; -} - -template <> -NodeBasedRenderer_LIBRARY_API QWidget* EnvMapSourceModel::getWidget() { - auto controlPanel = new RendererPanel( "EnvMap", false ); - auto envmpClbck = [this, controlPanel]( const std::string& files ) { - if ( files.empty() ) { m_node->setData( nullptr ); } - else - { - auto t = ( files.find( ';' ) != files.npos ) - ? RadiumNBR::EnvMap::EnvMapType::ENVMAP_CUBE - : RadiumNBR::EnvMap::EnvMapType::ENVMAP_PFM; - if ( t == RadiumNBR::EnvMap::EnvMapType::ENVMAP_PFM ) - { - auto ext = files.substr( files.size() - 3 ); - if ( ext != "pfm" ) { t = RadiumNBR::EnvMap::EnvMapType::ENVMAP_LATLON; } - } - // for now, only skyboxes are managed - m_node->setData( std::make_shared<RadiumNBR::EnvMap>( files, t, true ) ); - auto slider = controlPanel->findChild<PowerSlider*>( "Strength" ); - if ( slider ) { m_node->getData()->setEnvStrength( slider->value() / 100. ); } - } - }; - controlPanel->addFileInput( - "Image(s)", envmpClbck, "../", "Images (*.png *.jpg *.pfm *.exr *hdr)" ); - - auto strengthClbk = [this]( double v ) { - if ( m_node ) - { - auto* env = m_node->getData().get(); - if ( env ) { env->setEnvStrength( v / 100. ); } - } - }; - float s_init = 100.; - if ( m_node && m_node->getData() ) { s_init = m_node->getData()->getEnvStrength() * 100.; } - controlPanel->addPowerSliderInput( "Strength", strengthClbk, s_init, 0., 100 ); - controlPanel->setVisible( true ); - return controlPanel; -} - -template <> -NodeBasedRenderer_LIBRARY_API QJsonObject EnvMapSourceModel::save() const { - QJsonObject modelJson = NodeDataModel::save(); - modelJson["files"] = m_node->getData()->getImageName().c_str(); - modelJson["type"] = QString::number( int( m_node->getData()->getImageType() ) ); - modelJson["strength"] = QString::number( float( m_node->getData()->getEnvStrength() ) * 100. ); - return modelJson; -} - -template <> -NodeBasedRenderer_LIBRARY_API void EnvMapSourceModel::restore( QJsonObject const& p ) { - auto controlPanel = dynamic_cast<RendererPanel*>( m_widget ); - - QJsonValue n = p["files"]; - std::string files = n.toString().toStdString(); - if ( files.empty() ) { m_node->setData( nullptr ); } - else - { - std::string type = p["type"].toString().toStdString(); - int t = std::stoi( type ); - RadiumNBR::EnvMap::EnvMapType envType; - switch ( t ) - { - case 0: - envType = RadiumNBR::EnvMap::EnvMapType::ENVMAP_PFM; - break; - case 1: - envType = RadiumNBR::EnvMap::EnvMapType::ENVMAP_CUBE; - break; - case 2: - envType = RadiumNBR::EnvMap::EnvMapType::ENVMAP_LATLON; - break; - } - // check if the file exists - bool envmap_exist; - float s = 100.; - if ( envType == RadiumNBR::EnvMap::EnvMapType::ENVMAP_CUBE ) - { - std::string f1 = files.substr( 0, files.find( ';' ) - 1 ); - envmap_exist = std::filesystem::exists( f1 ); - } - else - { envmap_exist = std::filesystem::exists( files ); } - if ( !envmap_exist ) { m_node->setData( nullptr ); } - else - { - // for now, only skyboxes are managed - m_node->setData( std::make_shared<RadiumNBR::EnvMap>( files, envType, true ) ); - s = std::atof( p["strength"].toString().toStdString().c_str() ); - m_node->getData()->setEnvStrength( s / 100. ); - } - // This assume thereis only one powerslider in the control panel - auto slider = controlPanel->findChild<PowerSlider*>( "Strength" ); - slider->setValue( s ); - } -} - -#endif diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.hpp deleted file mode 100644 index d48afe294ea16fd82cb57ff1e90ca3088d51ac8d..0000000000000000000000000000000000000000 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/EnvMapSourceModel.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#if 0 -#pragma once -#include <RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp> -#include <RadiumNBR/EnvMap.hpp> - -using EnvMapData = std::shared_ptr<RadiumNBR::EnvMap>; -using EnvMapSourceModel = SourceNodeModel<EnvMapData>; -#endif diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp index 1c5ca109d5cf464b80e2593d4ba66ba6af10d8eb..22550e49315936c404f21201c0f55f94ff876cdb 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp @@ -202,8 +202,8 @@ class NodeAdapterModel : public QtNodes::NodeDataModel mutable QString m_validationError = QString( "" ); public: - QJsonObject save() const override; - void restore(QJsonObject const & p) override; + QJsonObject save() const override { return QtNodes::NodeDataModel::save(); } + void restore(QJsonObject const & p) override { QtNodes::NodeDataModel::restore(p); } }; #include <RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.inl> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.inl b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.inl index a13f4f4c3cb72877b3fac2e589c5b24424df347a..328bd2b4e6d4e0a34fc36200e3a274349e68b3cc 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.inl +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.inl @@ -1,14 +1,4 @@ -template <typename T> -QJsonObject NodeAdapterModel<T>::save() const { - return QtNodes::NodeDataModel::save(); -} - -template <typename T> -void NodeAdapterModel<T>::restore( const QJsonObject& p ) { - QtNodes::NodeDataModel::restore(p); -} - template <> void NodeAdapterModel<DataNode<NodeTypeRenderObject>>::init() { m_node = m_renderGraph->getDataNode<NodeTypeRenderObject>();