mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Add configurable "relative sample spacing".
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
#include "RimEclipseResultDefinition.h"
|
#include "RimEclipseResultDefinition.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
|
|
||||||
|
#include "cafPdmUiDoubleSliderEditor.h"
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafProgressInfo.h"
|
#include "cafProgressInfo.h"
|
||||||
|
|
||||||
@@ -49,6 +50,9 @@ RimStatisticsContourMap::RimStatisticsContourMap()
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject( "StatisticsContourMap", ":/Histogram16x16.png" );
|
CAF_PDM_InitObject( "StatisticsContourMap", ":/Histogram16x16.png" );
|
||||||
|
|
||||||
|
CAF_PDM_InitField( &m_relativeSampleSpacing, "SampleSpacing", 0.9, "Sample Spacing Factor" );
|
||||||
|
m_relativeSampleSpacing.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_resultDefinition, "ResultDefinition", "" );
|
CAF_PDM_InitFieldNoDefault( &m_resultDefinition, "ResultDefinition", "" );
|
||||||
m_resultDefinition.uiCapability()->setUiTreeChildrenHidden( true );
|
m_resultDefinition.uiCapability()->setUiTreeChildrenHidden( true );
|
||||||
m_resultDefinition = new RimEclipseResultDefinition;
|
m_resultDefinition = new RimEclipseResultDefinition;
|
||||||
@@ -66,6 +70,8 @@ RimStatisticsContourMap::RimStatisticsContourMap()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimStatisticsContourMap::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
void RimStatisticsContourMap::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||||
{
|
{
|
||||||
|
uiOrdering.add( &m_relativeSampleSpacing );
|
||||||
|
|
||||||
caf::PdmUiGroup* resultDefinitionGroup = uiOrdering.addNewGroup( "Result Definition" );
|
caf::PdmUiGroup* resultDefinitionGroup = uiOrdering.addNewGroup( "Result Definition" );
|
||||||
m_resultDefinition->uiOrdering( uiConfigName, *resultDefinitionGroup );
|
m_resultDefinition->uiOrdering( uiConfigName, *resultDefinitionGroup );
|
||||||
|
|
||||||
@@ -104,6 +110,17 @@ void RimStatisticsContourMap::defineEditorAttribute( const caf::PdmFieldHandle*
|
|||||||
attrib->m_buttonText = "Compute";
|
attrib->m_buttonText = "Compute";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( &m_relativeSampleSpacing == field )
|
||||||
|
{
|
||||||
|
if ( auto myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>( attribute ) )
|
||||||
|
{
|
||||||
|
myAttr->m_minimum = 0.2;
|
||||||
|
myAttr->m_maximum = 2.0;
|
||||||
|
myAttr->m_sliderTickCount = 9;
|
||||||
|
myAttr->m_delaySliderUpdateUntilRelease = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -133,8 +150,7 @@ void RimStatisticsContourMap::computeStatistics()
|
|||||||
RimEclipseCase* firstEclipseCase = ensemble->cases().front();
|
RimEclipseCase* firstEclipseCase = ensemble->cases().front();
|
||||||
firstEclipseCase->ensureReservoirCaseIsOpen();
|
firstEclipseCase->ensureReservoirCaseIsOpen();
|
||||||
|
|
||||||
double relativeSampleSpacing = 0.9;
|
int timeStep = 0;
|
||||||
int timeStep = 0;
|
|
||||||
RigContourMapCalculator::ResultAggregationEnum resultAggregation = RigContourMapCalculator::ResultAggregationEnum::RESULTS_MEAN_VALUE;
|
RigContourMapCalculator::ResultAggregationEnum resultAggregation = RigContourMapCalculator::ResultAggregationEnum::RESULTS_MEAN_VALUE;
|
||||||
|
|
||||||
cvf::BoundingBox gridBoundingBox = firstEclipseCase->activeCellsBoundingBox();
|
cvf::BoundingBox gridBoundingBox = firstEclipseCase->activeCellsBoundingBox();
|
||||||
@@ -152,7 +168,7 @@ void RimStatisticsContourMap::computeStatistics()
|
|||||||
return 0.0;
|
return 0.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
double sampleSpacing = computeSampleSpacing( firstEclipseCase, relativeSampleSpacing );
|
double sampleSpacing = computeSampleSpacing( firstEclipseCase, m_relativeSampleSpacing() );
|
||||||
|
|
||||||
auto contourMapGrid = std::make_unique<RigContourMapGrid>( gridBoundingBox, sampleSpacing );
|
auto contourMapGrid = std::make_unique<RigContourMapGrid>( gridBoundingBox, sampleSpacing );
|
||||||
|
|
||||||
|
@@ -47,6 +47,8 @@ protected:
|
|||||||
private:
|
private:
|
||||||
void computeStatistics();
|
void computeStatistics();
|
||||||
|
|
||||||
|
caf::PdmField<double> m_relativeSampleSpacing;
|
||||||
|
|
||||||
caf::PdmChildField<RimEclipseResultDefinition*> m_resultDefinition;
|
caf::PdmChildField<RimEclipseResultDefinition*> m_resultDefinition;
|
||||||
caf::PdmField<bool> m_computeStatisticsButton;
|
caf::PdmField<bool> m_computeStatisticsButton;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user