#7559 Ensemble Fracture Statistics: add option for adaptive mesh.

This commit is contained in:
Kristian Bendiksen 2021-04-14 15:59:28 +02:00
parent 7d006674ba
commit bb3f736408
2 changed files with 36 additions and 1 deletions

View File

@ -58,6 +58,14 @@ void caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::setUp()
setDefault( RimEnsembleFractureStatistics::StatisticsType::MEAN );
}
template <>
void caf::AppEnum<RimEnsembleFractureStatistics::MeshType>::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 );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -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<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions,
bool* useOptionsOnly ) override;
@ -103,6 +110,7 @@ protected:
caf::PdmField<bool> m_computeStatistics;
caf::PdmField<int> m_numSamplesX;
caf::PdmField<int> m_numSamplesY;
caf::PdmField<caf::AppEnum<MeshType>> m_meshType;
caf::PdmField<std::vector<caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>>> m_selectedStatisticsType;
};