diff --git a/ApplicationLibCode/Commands/EclipseCommands/RicNewFaultDistanceResultFeature.cpp b/ApplicationLibCode/Commands/EclipseCommands/RicNewFaultDistanceResultFeature.cpp index 2c9e948726..40602aa532 100644 --- a/ApplicationLibCode/Commands/EclipseCommands/RicNewFaultDistanceResultFeature.cpp +++ b/ApplicationLibCode/Commands/EclipseCommands/RicNewFaultDistanceResultFeature.cpp @@ -97,7 +97,10 @@ void RicNewFaultDistanceResultFeature::onActionTriggered( bool isChecked ) } else if ( eclipseView->faultCollection() ) { - newResult->setSelectedFaults( eclipseView->faultCollection()->faults() ); + // Default to all faults, but leave the ResInsight-generated faults unticked. + std::vector defaultFaults = eclipseView->faultCollection()->faults(); + std::erase_if( defaultFaults, []( RimFaultInView* fault ) { return fault && fault->isGeneratedFault(); } ); + newResult->setSelectedFaults( defaultFaults ); } eclipseView->updateConnectedEditors(); diff --git a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.cpp b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.cpp index 666625df18..db0b0580fe 100644 --- a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.cpp +++ b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.cpp @@ -19,6 +19,8 @@ #include "RimFaultInView.h" +#include "RiaResultNames.h" + #include "RigFault.h" #include "RimEclipseView.h" @@ -121,6 +123,15 @@ const RigFault* RimFaultInView::faultGeometry() const return m_rigFault; } +//-------------------------------------------------------------------------------------------------- +/// True for the faults synthesized by ResInsight (undefined grid faults), as opposed to faults +/// imported from the Eclipse model. +//-------------------------------------------------------------------------------------------------- +bool RimFaultInView::isGeneratedFault() const +{ + return name() == RiaResultNames::undefinedGridFaultName() || name() == RiaResultNames::undefinedGridFaultWithInactiveName(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.h b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.h index 9dfca2aa61..b838c1568f 100644 --- a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.h +++ b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultInView.h @@ -48,6 +48,8 @@ public: void setFaultGeometry( const RigFault* faultGeometry ); const RigFault* faultGeometry() const; + bool isGeneratedFault() const; + caf::PdmFieldHandle* userDescriptionField() override; caf::PdmFieldHandle* objectToggleField() override; diff --git a/ApplicationLibCode/ProjectDataModelCommands/RimcEclipseView.cpp b/ApplicationLibCode/ProjectDataModelCommands/RimcEclipseView.cpp index 867a8b70a2..450a859ca9 100644 --- a/ApplicationLibCode/ProjectDataModelCommands/RimcEclipseView.cpp +++ b/ApplicationLibCode/ProjectDataModelCommands/RimcEclipseView.cpp @@ -58,7 +58,12 @@ std::expected RimcEclipseView_addFaultDistance:: if ( !m_resultName().isEmpty() ) newResult->setResultName( m_resultName() ); std::vector selected = m_faults.ptrReferencedObjectsByType(); - if ( selected.empty() && eclipseView->faultCollection() ) selected = eclipseView->faultCollection()->faults(); + if ( selected.empty() && eclipseView->faultCollection() ) + { + // Default to all faults, but leave the ResInsight-generated faults unticked. + selected = eclipseView->faultCollection()->faults(); + std::erase_if( selected, []( RimFaultInView* fault ) { return fault && fault->isGeneratedFault(); } ); + } newResult->setSelectedFaults( selected );