mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-30 17:10:19 -05:00
Sector export: Add refinement regions
Promote sector-export refinement from inline wizard fields to first-class PDM objects so users can create, edit, and preview refinement regions in the 3D view before opening the export dialog.
This commit is contained in:
1 parent
e936ce24a6
commit
9d04f0b122
19 files changed
+1637
-312
No files matched your search
@@ -77,6 +77,8 @@
|
||||
#include "RimMultipleEclipseResults.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimRefinementRegion.h"
|
||||
#include "RimRefinementRegionCollection.h"
|
||||
#include "RimRegularLegendConfig.h"
|
||||
#include "RimReservoirCellResultsStorage.h"
|
||||
#include "RimSeismicSection.h"
|
||||
@@ -101,6 +103,7 @@
|
||||
#include "RiuTools.h"
|
||||
#include "RiuViewer.h"
|
||||
|
||||
#include "RivRefinementRegionPartMgr.h"
|
||||
#include "RivReservoirSimWellsPartMgr.h"
|
||||
#include "RivReservoirViewPartMgr.h"
|
||||
#include "RivSingleCellPartGenerator.h"
|
||||
@@ -215,10 +218,11 @@ RimEclipseView::RimEclipseView()
|
||||
|
||||
faultResultSettings()->setReservoirView( this );
|
||||
|
||||
m_reservoirGridPartManager = new RivReservoirViewPartMgr( this );
|
||||
m_simWellsPartManager = new RivReservoirSimWellsPartMgr( this );
|
||||
m_streamlinesPartManager = new RivStreamlinesPartMgr( this );
|
||||
m_eclipseCase = nullptr;
|
||||
m_reservoirGridPartManager = new RivReservoirViewPartMgr( this );
|
||||
m_simWellsPartManager = new RivReservoirSimWellsPartMgr( this );
|
||||
m_streamlinesPartManager = new RivStreamlinesPartMgr( this );
|
||||
m_refinementRegionPartManager = new RivRefinementRegionPartMgr;
|
||||
m_eclipseCase = nullptr;
|
||||
|
||||
nameConfig()->setCustomName( "3D View" );
|
||||
nameConfig()->hideCaseNameField( false );
|
||||
@@ -234,12 +238,18 @@ RimEclipseView::RimEclipseView()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_cameraPositions, "CameraPositions", "Camera Positions for Cases" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_refinementRegions, "RefinementRegions", "Refinement Regions" );
|
||||
m_refinementRegions = new RimRefinementRegionCollection();
|
||||
|
||||
setDeletable( true );
|
||||
|
||||
updateAnimations.connect( this, &RimEclipseView::onAnimationsUpdate );
|
||||
|
||||
m_faultReactVizModel = new cvf::ModelBasicList;
|
||||
m_faultReactVizModel->setName( "FaultReactModel" );
|
||||
|
||||
m_refinementRegionsVizModel = new cvf::ModelBasicList;
|
||||
m_refinementRegionsVizModel->setName( "RefinementRegionsModel" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -334,6 +344,14 @@ RimFaultReactivationModelCollection* RimEclipseView::faultReactivationModelColle
|
||||
return m_faultReactivationModelCollection;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimRefinementRegionCollection* RimEclipseView::refinementRegionCollection() const
|
||||
{
|
||||
return m_refinementRegions();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -742,6 +760,14 @@ void RimEclipseView::onCreateDisplayModel()
|
||||
m_faultReactivationModelCollection->appendPartsToModel( this, m_faultReactVizModel.p(), transform.p(), ownerCase()->allCellsBoundingBox() );
|
||||
nativeOrOverrideViewer()->addStaticModelOnce( m_faultReactVizModel.p(), isUsingOverrideViewer() );
|
||||
|
||||
// Refinement region preview boxes
|
||||
m_refinementRegionsVizModel->removeAllParts();
|
||||
m_refinementRegionPartManager->buildGeometry( refinementRegionCollection(), eclipseCase(), transform.p() );
|
||||
m_refinementRegionPartManager->appendStaticPartsToModel( m_refinementRegionsVizModel.p() );
|
||||
m_refinementRegionPartManager->updateCellResultColor( m_currentTimeStep, cellResult() );
|
||||
m_refinementRegionsVizModel->updateBoundingBoxesRecursive();
|
||||
nativeOrOverrideViewer()->addStaticModelOnce( m_refinementRegionsVizModel.p(), isUsingOverrideViewer() );
|
||||
|
||||
// Surfaces
|
||||
m_surfaceVizModel->removeAllParts();
|
||||
if ( surfaceInViewCollection() )
|
||||
@@ -892,6 +918,8 @@ void RimEclipseView::onUpdateDisplayModelForCurrentTimeStep()
|
||||
|
||||
updateVisibleCellColors();
|
||||
|
||||
m_refinementRegionPartManager->updateCellResultColor( m_currentTimeStep, cellResult() );
|
||||
|
||||
wellCollection()->scaleWellDisks();
|
||||
|
||||
appendWellsAndFracturesToModel();
|
||||
@@ -1250,6 +1278,11 @@ void RimEclipseView::initAfterRead()
|
||||
cellResult()->setReservoirView( this );
|
||||
cellEdgeResult()->setReservoirView( this );
|
||||
|
||||
if ( !m_refinementRegions() )
|
||||
{
|
||||
m_refinementRegions = new RimRefinementRegionCollection();
|
||||
}
|
||||
|
||||
updateUiIconFromToggleField();
|
||||
}
|
||||
|
||||
@@ -2030,6 +2063,7 @@ void RimEclipseView::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
|
||||
{
|
||||
uiTreeOrdering.add( m_overlayInfoConfig() );
|
||||
uiTreeOrdering.add( m_gridCollection() );
|
||||
if ( m_refinementRegions() ) uiTreeOrdering.add( m_refinementRegions() );
|
||||
uiTreeOrdering.add( cellResult() );
|
||||
uiTreeOrdering.add( cellEdgeResult() );
|
||||
uiTreeOrdering.add( cellFilterCollection() );
|
||||
|
||||
Reference in new issue
Block a user