mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-27 05:37:21 -05:00
Refactor RimElasticPropertyScalingCollection.
This commit is contained in:
+13
-27
@@ -34,29 +34,7 @@ RimElasticPropertyScalingCollection::RimElasticPropertyScalingCollection()
|
||||
{
|
||||
CAF_PDM_InitScriptableObject( "Elastic Property Scalings" );
|
||||
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_elasticPropertyScalings, "ElasticPropertyScalings", "Elastic Property Scalings" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimElasticPropertyScaling*> RimElasticPropertyScalingCollection::elasticPropertyScalings() const
|
||||
{
|
||||
std::vector<RimElasticPropertyScaling*> templates;
|
||||
for ( auto& templ : m_elasticPropertyScalings )
|
||||
{
|
||||
templates.push_back( templ );
|
||||
}
|
||||
return templates;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimElasticPropertyScalingCollection::addElasticPropertyScaling( RimElasticPropertyScaling* scaling )
|
||||
{
|
||||
scaling->changed.connect( this, &RimElasticPropertyScalingCollection::elasticPropertyScalingChanged );
|
||||
m_elasticPropertyScalings.push_back( scaling );
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_items, "ElasticPropertyScalings", "Elastic Property Scalings" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -70,9 +48,9 @@ void RimElasticPropertyScalingCollection::elasticPropertyScalingChanged( const c
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimElasticPropertyScalingCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||
std::vector<caf::PdmObjectHandle*>& referringObjects )
|
||||
void RimElasticPropertyScalingCollection::onItemsChanged()
|
||||
{
|
||||
connectSignals();
|
||||
changed.send();
|
||||
}
|
||||
|
||||
@@ -83,7 +61,7 @@ double RimElasticPropertyScalingCollection::getScaling( const QString&
|
||||
const QString& faciesName,
|
||||
RiaDefines::CurveProperty property ) const
|
||||
{
|
||||
for ( const RimElasticPropertyScaling* scaling : m_elasticPropertyScalings )
|
||||
for ( const RimElasticPropertyScaling* scaling : items() )
|
||||
{
|
||||
if ( scaling->property() == property && ( scaling->formation().compare( formationName, Qt::CaseInsensitive ) == 0 ) &&
|
||||
( scaling->facies().compare( faciesName, Qt::CaseInsensitive ) == 0 ) && scaling->isChecked() )
|
||||
@@ -101,7 +79,15 @@ double RimElasticPropertyScalingCollection::getScaling( const QString&
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimElasticPropertyScalingCollection::initAfterRead()
|
||||
{
|
||||
for ( auto& scaling : m_elasticPropertyScalings )
|
||||
connectSignals();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimElasticPropertyScalingCollection::connectSignals()
|
||||
{
|
||||
for ( auto& scaling : items() )
|
||||
{
|
||||
scaling->changed.connect( this, &RimElasticPropertyScalingCollection::elasticPropertyScalingChanged );
|
||||
}
|
||||
|
||||
+8
-13
@@ -18,19 +18,17 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
#include "RiaStimPlanModelDefines.h"
|
||||
|
||||
class RimElasticPropertyScaling;
|
||||
#include "RimElasticPropertyScaling.h"
|
||||
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimElasticPropertyScalingCollection : public caf::PdmObject
|
||||
class RimElasticPropertyScalingCollection : public caf::PdmObjectCollection<RimElasticPropertyScaling>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -39,17 +37,14 @@ public:
|
||||
|
||||
caf::Signal<> changed;
|
||||
|
||||
std::vector<RimElasticPropertyScaling*> elasticPropertyScalings() const;
|
||||
void addElasticPropertyScaling( RimElasticPropertyScaling* templ );
|
||||
|
||||
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||
|
||||
// Domain-specific methods
|
||||
double getScaling( const QString& formationName, const QString& faciesName, RiaDefines::CurveProperty property ) const;
|
||||
|
||||
protected:
|
||||
void initAfterRead() override;
|
||||
void onItemsChanged() override;
|
||||
|
||||
private:
|
||||
void elasticPropertyScalingChanged( const caf::SignalEmitter* emitter );
|
||||
caf::PdmChildArrayField<RimElasticPropertyScaling*> m_elasticPropertyScalings;
|
||||
void connectSignals();
|
||||
void elasticPropertyScalingChanged( const caf::SignalEmitter* emitter );
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user