#3364 Fault Collection : Crash when case fails to load

This commit is contained in:
Magne Sjaastad
2018-09-14 09:30:05 +02:00
parent 3a08fc65ba
commit 14e94ea232
3 changed files with 23 additions and 30 deletions

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------