Add surface collection to RimTools

This commit is contained in:
Magne Sjaastad
2023-08-30 10:52:31 +02:00
parent 0a807618b9
commit 1ed7dcbd4a
10 changed files with 30 additions and 39 deletions

View File

@@ -23,11 +23,10 @@
#include "RimAnnotationLineAppearance.h"
#include "RimEnsembleSurface.h"
#include "RimExtrudedCurveIntersection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"
#include "RimSurfaceIntersectionBand.h"
#include "RimTools.h"
#include "Riu3DMainWindowTools.h"
@@ -37,21 +36,12 @@
CAF_CMD_SOURCE_INIT( RicCreateSurfaceIntersectionBandFeature, "RicCreateSurfaceIntersectionBandFeature" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSurfaceCollection* RicCreateSurfaceIntersectionBandFeature::surfaceCollection()
{
RimProject* proj = RimProject::current();
return proj->activeOilField()->surfaceCollection();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicCreateSurfaceIntersectionBandFeature::isCommandEnabled() const
{
auto* surfColl = RicCreateSurfaceIntersectionBandFeature::surfaceCollection();
auto* surfColl = RimTools::surfaceCollection();
auto surfaces = surfColl->ensembleSurfaces();
return !surfaces.empty();
@@ -67,7 +57,7 @@ void RicCreateSurfaceIntersectionBandFeature::onActionTriggered( bool isChecked
{
RimEnsembleSurface* firstEnsembleSurface = nullptr;
{
auto surfColl = RicCreateSurfaceIntersectionBandFeature::surfaceCollection();
auto surfColl = RimTools::surfaceCollection();
auto surfaces = surfColl->ensembleSurfaces();
if ( !surfaces.empty() ) firstEnsembleSurface = surfaces.front();
}

View File

@@ -20,8 +20,6 @@
#include "cafCmdFeature.h"
class RimSurfaceCollection;
//==================================================================================================
///
//==================================================================================================
@@ -29,9 +27,6 @@ class RicCreateSurfaceIntersectionBandFeature : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
public:
static RimSurfaceCollection* surfaceCollection();
protected:
bool isCommandEnabled() const override;
void onActionTriggered( bool isChecked ) override;

View File

@@ -29,9 +29,8 @@
#include "RimEnsembleSurface.h"
#include "RimFileSurface.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSurfaceCollection.h"
#include "RimTools.h"
#include "Riu3DMainWindowTools.h"
@@ -91,6 +90,8 @@ void RicImportEnsembleSurfaceFeature::importSingleEnsembleSurfaceFromFiles( cons
fileNamesForEachLayer[layerName].push_back( fileName );
}
RimSurfaceCollection* surfColl = RimTools::surfaceCollection();
RimEnsembleSurface* ensembleToSelect = nullptr;
for ( const auto& fileNamesForLayer : fileNamesForEachLayer )
{
@@ -153,12 +154,13 @@ void RicImportEnsembleSurfaceFeature::importSingleEnsembleSurfaceFromFiles( cons
ensemble->addFileSurface( surface );
ensemble->loadDataAndUpdate();
RimProject::current()->activeOilField()->surfaceCollection->addEnsembleSurface( ensemble );
surfColl->addEnsembleSurface( ensemble );
ensembleToSelect = ensemble;
}
RimProject::current()->activeOilField()->surfaceCollection->updateConnectedEditors();
surfColl->updateConnectedEditors();
Riu3DMainWindowTools::selectAsCurrentItem( ensembleToSelect );
}

View File

@@ -20,10 +20,9 @@
#include "RiaApplication.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"
#include "RimTools.h"
#include "Riu3DMainWindowTools.h"
#include "RiuFileDialogTools.h"
@@ -65,8 +64,7 @@ void RicImportSurfacesFeature::onActionTriggered( bool isChecked )
if ( !surfColl )
{
auto proj = RimProject::current();
surfColl = proj->activeOilField()->surfaceCollection();
surfColl = RimTools::surfaceCollection();
}
if ( !surfColl ) return;

View File

@@ -27,7 +27,6 @@
#include "RimIntersection.h"
#include "RimIntersectionCollection.h"
#include "RimIntersectionResultsDefinitionCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimPropertyFilterCollection.h"
#include "RimSeismicSectionCollection.h"
@@ -468,8 +467,7 @@ void RimGridView::updateWellMeasurements()
//--------------------------------------------------------------------------------------------------
void RimGridView::updateSurfacesInViewTreeItems()
{
RimProject* proj = RimProject::current();
RimSurfaceCollection* surfColl = proj->activeOilField()->surfaceCollection();
RimSurfaceCollection* surfColl = RimTools::surfaceCollection();
if ( surfColl && surfColl->containsSurface() )
{

View File

@@ -19,11 +19,10 @@
#include "RimSurfaceIntersectionBand.h"
#include "RimAnnotationLineAppearance.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"
#include "RimSurfaceIntersectionCurve.h"
#include "RimTools.h"
#include "cafPdmUiDoubleSliderEditor.h"
#include "cafPdmUiTreeSelectionEditor.h"
@@ -194,7 +193,7 @@ QList<caf::PdmOptionItemInfo> RimSurfaceIntersectionBand::calculateValueOptions(
if ( fieldNeedingOptions == &m_surfaces )
{
RimSurfaceCollection* surfColl = RimProject::current()->activeOilField()->surfaceCollection();
RimSurfaceCollection* surfColl = RimTools::surfaceCollection();
RimSurfaceIntersectionCurve::appendOptionItemsForSources( 0, surfColl, false, options );
}

View File

@@ -20,10 +20,9 @@
#include "RimAnnotationLineAppearance.h"
#include "RimEnsembleSurface.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"
#include "RimTools.h"
#include "cafPdmUiTreeSelectionEditor.h"
@@ -93,7 +92,7 @@ QList<caf::PdmOptionItemInfo> RimSurfaceIntersectionCurve::calculateValueOptions
if ( fieldNeedingOptions == &m_surface1 )
{
RimSurfaceCollection* surfColl = RimProject::current()->activeOilField()->surfaceCollection();
RimSurfaceCollection* surfColl = RimTools::surfaceCollection();
appendOptionItemsForSources( 0, surfColl, true, options );
}

View File

@@ -30,6 +30,7 @@
#include "RimSeismicData.h"
#include "RimSeismicDataCollection.h"
#include "RimSeismicDifferenceData.h"
#include "RimSurfaceCollection.h"
#include "RimWellLogFile.h"
#include "RimWellPath.h"
#include "RimWellPathCollection.h"
@@ -467,6 +468,15 @@ RimWellPath* RimTools::firstWellPath()
return nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSurfaceCollection* RimTools::surfaceCollection()
{
RimProject* proj = RimProject::current();
return proj->activeOilField()->surfaceCollection();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -37,6 +37,7 @@ class PdmOptionItemInfo;
class RimWellPathCollection;
class RimCase;
class RimWellPath;
class RimSurfaceCollection;
//--------------------------------------------------------------------------------------------------
///
@@ -66,6 +67,8 @@ public:
static RimWellPathCollection* wellPathCollection();
static RimWellPath* firstWellPath();
static RimSurfaceCollection* surfaceCollection();
static void timeStepsForCase( RimCase* gridCase, QList<caf::PdmOptionItemInfo>* options );
private:

View File

@@ -24,8 +24,6 @@
#include "RimAnnotationCollection.h"
#include "RimAnnotationInViewCollection.h"
#include "RimLegendConfig.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimRegularLegendConfig.h"
#include "RimSeismicDataInterface.h"
#include "RimSeismicSection.h"
@@ -469,8 +467,7 @@ void RimSeismicView::updateGridBoxData()
//--------------------------------------------------------------------------------------------------
void RimSeismicView::updateSurfacesInViewTreeItems()
{
RimProject* proj = RimProject::current();
RimSurfaceCollection* surfColl = proj->activeOilField()->surfaceCollection();
RimSurfaceCollection* surfColl = RimTools::surfaceCollection();
if ( surfColl && surfColl->containsSurface() )
{