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 "RimCrossSection.h"
|
||||
#include "RivCrossSectionPartMgr.h"
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RimEclipseWell.h"
|
||||
#include "RimView.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
|
||||
#include "RivCrossSectionPartMgr.h"
|
||||
|
||||
|
||||
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 RimEclipseCellColors;
|
||||
class RimEclipseWell;
|
||||
|
||||
namespace cvf {
|
||||
class ModelBasicList;
|
||||
@ -48,6 +49,7 @@ public:
|
||||
|
||||
void appendCrossSection(RimCrossSection* crossSection);
|
||||
|
||||
bool hasActiveCrossSectionForSimulationWell(RimEclipseWell* eclipseWell) const;
|
||||
|
||||
// Visualization interface
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "RimEclipseWell.h"
|
||||
|
||||
#include "RimCrossSectionCollection.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEclipseWellCollection.h"
|
||||
|
||||
@ -179,6 +180,9 @@ bool RimEclipseWell::calculateWellPipeVisibility(size_t frameIndex)
|
||||
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_INDIVIDUALLY)
|
||||
return true;
|
||||
|
||||
if (m_reservoirView->crossSectionCollection()->hasActiveCrossSectionForSimulationWell(this))
|
||||
return true;
|
||||
|
||||
if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_OPEN_IN_VISIBLE_CELLS)
|
||||
{
|
||||
const std::vector<RivCellSetEnum>& visGridParts = m_reservoirView->visibleGridParts();
|
||||
|
Loading…
Reference in New Issue
Block a user