From bb3f7364080f3296f3efcfe0c0966791a2938552 Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Wed, 14 Apr 2021 15:59:28 +0200 Subject: [PATCH] #7559 Ensemble Fracture Statistics: add option for adaptive mesh. --- .../RimEnsembleFractureStatistics.cpp | 29 ++++++++++++++++++- .../RimEnsembleFractureStatistics.h | 8 +++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.cpp b/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.cpp index 833f96eb87..f5062e2fe1 100644 --- a/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.cpp +++ b/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.cpp @@ -58,6 +58,14 @@ void caf::AppEnum::setUp() setDefault( RimEnsembleFractureStatistics::StatisticsType::MEAN ); } +template <> +void caf::AppEnum::setUp() +{ + addItem( RimEnsembleFractureStatistics::MeshType::ADAPTIVE, "ADAPTIVE", "Adaptive" ); + addItem( RimEnsembleFractureStatistics::MeshType::UNIFORM, "UNIFORM", "Uniform" ); + setDefault( RimEnsembleFractureStatistics::MeshType::ADAPTIVE ); +} + } // namespace caf CAF_PDM_SOURCE_INIT( RimEnsembleFractureStatistics, "EnsembleFractureStatistics" ); @@ -77,6 +85,7 @@ RimEnsembleFractureStatistics::RimEnsembleFractureStatistics() m_filePathsTable.uiCapability()->setUiReadOnly( true ); m_filePathsTable.xmlCapability()->disableIO(); + CAF_PDM_InitFieldNoDefault( &m_meshType, "MeshType", "Mesh Type", "", "", "" ); CAF_PDM_InitField( &m_numSamplesX, "NumberOfSamplesX", 100, "X", "", "", "" ); CAF_PDM_InitField( &m_numSamplesY, "NumberOfSamplesY", 200, "Y", "", "", "" ); @@ -87,7 +96,7 @@ RimEnsembleFractureStatistics::RimEnsembleFractureStatistics() m_selectedStatisticsType.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() ); m_selectedStatisticsType.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP ); - CAF_PDM_InitFieldNoDefault( &m_computeStatistics, "ComputeStatistics", "Compute", "", "", "" ); + CAF_PDM_InitFieldNoDefault( &m_computeStatistics, "ComputeStatistics", "Compute Templates", "", "", "" ); m_computeStatistics.uiCapability()->setUiEditorTypeName( caf::PdmUiToolButtonEditor::uiEditorTypeName() ); m_computeStatistics.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN ); @@ -190,6 +199,24 @@ void RimEnsembleFractureStatistics::fieldChangedByUi( const caf::PdmFieldHandle* } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEnsembleFractureStatistics::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) +{ + uiOrdering.add( nameField() ); + uiOrdering.add( &m_filePathsTable ); + uiOrdering.add( &m_meshType ); + uiOrdering.add( &m_numSamplesX ); + uiOrdering.add( &m_numSamplesY ); + bool isUniformMesh = m_meshType() == MeshType::UNIFORM; + m_numSamplesX.uiCapability()->setUiHidden( !isUniformMesh ); + m_numSamplesY.uiCapability()->setUiHidden( !isUniformMesh ); + + uiOrdering.add( &m_selectedStatisticsType ); + uiOrdering.add( &m_computeStatistics ); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.h b/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.h index cbf8387c0f..ad82c34af6 100644 --- a/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.h +++ b/ApplicationLibCode/ProjectDataModel/Completions/RimEnsembleFractureStatistics.h @@ -45,6 +45,12 @@ public: OCCURRENCE }; + enum class MeshType + { + ADAPTIVE, + UNIFORM, + }; + RimEnsembleFractureStatistics(); ~RimEnsembleFractureStatistics() override; void addFilePath( const QString& filePath ); @@ -55,6 +61,7 @@ protected: QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override; void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override; + void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; QList calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly ) override; @@ -103,6 +110,7 @@ protected: caf::PdmField m_computeStatistics; caf::PdmField m_numSamplesX; caf::PdmField m_numSamplesY; + caf::PdmField> m_meshType; caf::PdmField>> m_selectedStatisticsType; };