Custom Mock Model: Add extent and offset fields to dialog

Expose XYZ extent and XY UTM offset as user-editable fields in the
Customize Mock Model dialog instead of hard-coding them in
RimEclipseResultCase. Defaults match the previous hard-coded values
(6000/12000/500 extent, 400000/6000000 offset).
This commit is contained in:
Magne Sjaastad
2026-05-08 10:28:00 +02:00
parent 5ffcb69acc
commit 7f51676da2
3 changed files with 32 additions and 6 deletions
@@ -534,13 +534,13 @@ cvf::ref<RifReaderInterface> RimEclipseResultCase::createMockModel( QString mode
double startY = 0;
double startZ = 0;
double widthX = 6000;
double widthY = 12000;
double widthZ = 500;
double widthX = mockModelSettings->extentX;
double widthY = mockModelSettings->extentY;
double widthZ = mockModelSettings->extentZ;
// Test code to simulate UTM coordinates
double offsetX = 400000;
double offsetY = 6000000;
// Offset to simulate UTM coordinates
double offsetX = mockModelSettings->offsetX;
double offsetY = mockModelSettings->offsetY;
double offsetZ = 0;
mockFileInterface->setWorldCoordinates( cvf::Vec3d( startX + offsetX, startY + offsetY, startZ + offsetZ ),
@@ -35,6 +35,16 @@ RimMockModelSettings::RimMockModelSettings()
CAF_PDM_InitFieldNoDefault( &totalCellCount, "TotalCellCount", "Total Cell Count" );
totalCellCount.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitField( &extentX, "ExtentX", 6000.0, "Extent X" );
extentX.setMinValue( 0.0 );
CAF_PDM_InitField( &extentY, "ExtentY", 12000.0, "Extent Y" );
extentY.setMinValue( 0.0 );
CAF_PDM_InitField( &extentZ, "ExtentZ", 500.0, "Extent Z" );
extentZ.setMinValue( 0.0 );
CAF_PDM_InitField( &offsetX, "OffsetX", 400000.0, "Offset X" );
CAF_PDM_InitField( &offsetY, "OffsetY", 6000000.0, "Offset Y" );
CAF_PDM_InitField( &resultCount, "ResultCount", quint64( 3 ), "Result Count" );
CAF_PDM_InitField( &timeStepCount, "TimeStepCount", quint64( 10 ), "Time Step Count" );
}
@@ -71,6 +81,15 @@ void RimMockModelSettings::defineUiOrdering( QString uiConfigName, caf::PdmUiOrd
gridSizeGroup->add( &cellCountZ );
gridSizeGroup->add( &totalCellCount );
caf::PdmUiGroup* extentGroup = uiOrdering.addNewGroup( "Extent" );
extentGroup->add( &extentX );
extentGroup->add( &extentY );
extentGroup->add( &extentZ );
caf::PdmUiGroup* offsetGroup = uiOrdering.addNewGroup( "Offset" );
offsetGroup->add( &offsetX );
offsetGroup->add( &offsetY );
caf::PdmUiGroup* resultGroup = uiOrdering.addNewGroup( "Results" );
resultGroup->add( &resultCount );
resultGroup->add( &timeStepCount );
@@ -41,6 +41,13 @@ public:
caf::PdmField<quint64> totalCellCount;
caf::PdmField<double> extentX;
caf::PdmField<double> extentY;
caf::PdmField<double> extentZ;
caf::PdmField<double> offsetX;
caf::PdmField<double> offsetY;
caf::PdmField<quint64> resultCount;
caf::PdmField<quint64> timeStepCount;