mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3364 Fault Collection : Crash when case fails to load
This commit is contained in:
parent
3a08fc65ba
commit
14e94ea232
@ -823,7 +823,6 @@ void RimEclipseView::onLoadDataAndUpdate()
|
||||
|
||||
this->m_propertyFilterCollection()->loadAndInitializePropertyFilters();
|
||||
|
||||
this->faultCollection()->setReservoirView(this);
|
||||
this->faultCollection()->syncronizeFaults();
|
||||
|
||||
m_reservoirGridPartManager->clearGeometryCache();
|
||||
|
@ -84,8 +84,6 @@ RimFaultInViewCollection::RimFaultInViewCollection()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&faults, "Faults", "Faults", "", "", "");
|
||||
faults.uiCapability()->setUiHidden(true);
|
||||
|
||||
m_reservoirView = nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -108,8 +106,8 @@ void RimFaultInViewCollection::fieldChangedByUi(const caf::PdmFieldHandle* chang
|
||||
|
||||
if (&faultLabelColor == changedField)
|
||||
{
|
||||
m_reservoirView->scheduleReservoirGridGeometryRegen();
|
||||
m_reservoirView->crossSectionCollection()->scheduleCreateDisplayModelAndRedraw2dIntersectionViews();
|
||||
parentView()->scheduleReservoirGridGeometryRegen();
|
||||
parentView()->crossSectionCollection()->scheduleCreateDisplayModelAndRedraw2dIntersectionViews();
|
||||
}
|
||||
|
||||
if (&showFaultFaces == changedField ||
|
||||
@ -123,11 +121,8 @@ void RimFaultInViewCollection::fieldChangedByUi(const caf::PdmFieldHandle* chang
|
||||
&hideNncsWhenNoResultIsAvailable == changedField
|
||||
)
|
||||
{
|
||||
if (m_reservoirView)
|
||||
{
|
||||
m_reservoirView->scheduleCreateDisplayModelAndRedraw();
|
||||
m_reservoirView->crossSectionCollection()->scheduleCreateDisplayModelAndRedraw2dIntersectionViews();
|
||||
}
|
||||
parentView()->scheduleCreateDisplayModelAndRedraw();
|
||||
parentView()->crossSectionCollection()->scheduleCreateDisplayModelAndRedraw2dIntersectionViews();
|
||||
}
|
||||
|
||||
|
||||
@ -138,15 +133,6 @@ void RimFaultInViewCollection::fieldChangedByUi(const caf::PdmFieldHandle* chang
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultInViewCollection::setReservoirView(RimEclipseView* ownerReservoirView)
|
||||
{
|
||||
m_reservoirView = ownerReservoirView;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -188,11 +174,11 @@ bool faultComparator(const cvf::ref<RigFault>& a, const cvf::ref<RigFault>& b)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultInViewCollection::syncronizeFaults()
|
||||
{
|
||||
if (!(m_reservoirView && m_reservoirView->mainGrid()) ) return;
|
||||
if (!(parentView() && parentView()->mainGrid()) ) return;
|
||||
|
||||
const caf::ColorTable& colorTable = RiaColorTables::faultsPaletteColors();
|
||||
|
||||
const cvf::Collection<RigFault> constRigFaults = m_reservoirView->mainGrid()->faults();
|
||||
const cvf::Collection<RigFault> constRigFaults = parentView()->mainGrid()->faults();
|
||||
|
||||
cvf::Collection<RigFault> rigFaults;
|
||||
{
|
||||
@ -273,7 +259,7 @@ void RimFaultInViewCollection::syncronizeFaults()
|
||||
// NNCs
|
||||
this->noCommonAreaNnncCollection()->noCommonAreaNncs().deleteAllChildObjects();
|
||||
|
||||
RigMainGrid* mainGrid = m_reservoirView->mainGrid();
|
||||
RigMainGrid* mainGrid = parentView()->mainGrid();
|
||||
std::vector<RigConnection>& nncConnections = mainGrid->nncData()->connections();
|
||||
for (size_t i = 0; i < nncConnections.size(); i++)
|
||||
{
|
||||
@ -339,9 +325,7 @@ void RimFaultInViewCollection::syncronizeFaults()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultInViewCollection::isGridVisualizationMode() const
|
||||
{
|
||||
CVF_ASSERT(m_reservoirView);
|
||||
|
||||
return m_reservoirView->isGridVisualizationMode();
|
||||
return parentView()->isGridVisualizationMode();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -373,6 +357,17 @@ void RimFaultInViewCollection::defineUiOrdering(QString uiConfigName, caf::PdmUi
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEclipseView* RimFaultInViewCollection::parentView() const
|
||||
{
|
||||
RimEclipseView* view = nullptr;
|
||||
this->firstAncestorOrThisOfTypeAsserted(view);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -57,7 +57,6 @@ public:
|
||||
RimFaultInViewCollection();
|
||||
virtual ~RimFaultInViewCollection();
|
||||
|
||||
void setReservoirView(RimEclipseView* ownerReservoirView);
|
||||
void syncronizeFaults();
|
||||
|
||||
bool isGridVisualizationMode() const;
|
||||
@ -82,13 +81,13 @@ public:
|
||||
|
||||
caf::PdmChildField<RimNoCommonAreaNncCollection*> noCommonAreaNnncCollection;
|
||||
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
virtual caf::PdmFieldHandle* objectToggleField();
|
||||
|
||||
private:
|
||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
||||
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
caf::PdmFieldHandle* objectToggleField() override;
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
RimEclipseView* parentView() const;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showFaultsOutsideFilters;
|
||||
RimEclipseView* m_reservoirView;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user