mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#751 : Well pipes for intersections based on Simulation Wells disappears when a Range Filter is applied
This commit is contained in:
parent
512f8904de
commit
a7d0c0c83e
@ -20,10 +20,13 @@
|
|||||||
#include "RimCrossSectionCollection.h"
|
#include "RimCrossSectionCollection.h"
|
||||||
|
|
||||||
#include "RimCrossSection.h"
|
#include "RimCrossSection.h"
|
||||||
#include "RivCrossSectionPartMgr.h"
|
#include "RimEclipseWell.h"
|
||||||
#include "RiuMainWindow.h"
|
|
||||||
#include "RimView.h"
|
#include "RimView.h"
|
||||||
|
|
||||||
|
#include "RiuMainWindow.h"
|
||||||
|
|
||||||
|
#include "RivCrossSectionPartMgr.h"
|
||||||
|
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimCrossSectionCollection, "CrossSectionCollection");
|
CAF_PDM_SOURCE_INIT(RimCrossSectionCollection, "CrossSectionCollection");
|
||||||
|
|
||||||
@ -143,3 +146,25 @@ void RimCrossSectionCollection::fieldChangedByUi(const caf::PdmFieldHandle* chan
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RimCrossSectionCollection::hasActiveCrossSectionForSimulationWell(RimEclipseWell* eclipseWell) const
|
||||||
|
{
|
||||||
|
if (!isActive) return false;
|
||||||
|
|
||||||
|
for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx)
|
||||||
|
{
|
||||||
|
RimCrossSection* cs = m_crossSections[csIdx];
|
||||||
|
|
||||||
|
if (cs->isActive &&
|
||||||
|
cs->type() == RimCrossSection::CS_SIMULATION_WELL &&
|
||||||
|
cs->simulationWell() == eclipseWell)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
class RimCrossSection;
|
class RimCrossSection;
|
||||||
class RimEclipseCellColors;
|
class RimEclipseCellColors;
|
||||||
|
class RimEclipseWell;
|
||||||
|
|
||||||
namespace cvf {
|
namespace cvf {
|
||||||
class ModelBasicList;
|
class ModelBasicList;
|
||||||
@ -48,6 +49,7 @@ public:
|
|||||||
|
|
||||||
void appendCrossSection(RimCrossSection* crossSection);
|
void appendCrossSection(RimCrossSection* crossSection);
|
||||||
|
|
||||||
|
bool hasActiveCrossSectionForSimulationWell(RimEclipseWell* eclipseWell) const;
|
||||||
|
|
||||||
// Visualization interface
|
// Visualization interface
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "RimEclipseWell.h"
|
#include "RimEclipseWell.h"
|
||||||
|
|
||||||
|
#include "RimCrossSectionCollection.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimEclipseWellCollection.h"
|
#include "RimEclipseWellCollection.h"
|
||||||
|
|
||||||
@ -179,6 +180,9 @@ bool RimEclipseWell::calculateWellPipeVisibility(size_t frameIndex)
|
|||||||
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_INDIVIDUALLY)
|
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_INDIVIDUALLY)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (m_reservoirView->crossSectionCollection()->hasActiveCrossSectionForSimulationWell(this))
|
||||||
|
return true;
|
||||||
|
|
||||||
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_OPEN_IN_VISIBLE_CELLS)
|
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_OPEN_IN_VISIBLE_CELLS)
|
||||||
{
|
{
|
||||||
const std::vector<RivCellSetEnum>& visGridParts = m_reservoirView->visibleGridParts();
|
const std::vector<RivCellSetEnum>& visGridParts = m_reservoirView->visibleGridParts();
|
||||||
|
Loading…
Reference in New Issue
Block a user