mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2427 2d intersection view. Display result info and curves
This commit is contained in:
@@ -31,6 +31,8 @@
|
|||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimEclipseResultCase.h"
|
#include "RimEclipseResultCase.h"
|
||||||
|
#include "Rim2dIntersectionView.h"
|
||||||
|
#include "RimIntersection.h"
|
||||||
|
|
||||||
#include "cvfBase.h"
|
#include "cvfBase.h"
|
||||||
//#include "cvfTrace.h"
|
//#include "cvfTrace.h"
|
||||||
@@ -68,8 +70,18 @@ void RiuPvtPlotUpdater::updateOnSelectionChanged(const RiuSelectionItem* selecti
|
|||||||
m_sourceEclipseViewOfLastPlot = NULL;
|
m_sourceEclipseViewOfLastPlot = NULL;
|
||||||
bool mustClearPlot = true;
|
bool mustClearPlot = true;
|
||||||
|
|
||||||
const RiuEclipseSelectionItem* eclipseSelectionItem = dynamic_cast<const RiuEclipseSelectionItem*>(selectionItem);
|
RiuEclipseSelectionItem* eclipseSelectionItem = dynamic_cast<RiuEclipseSelectionItem*>(const_cast<RiuSelectionItem*>(selectionItem));
|
||||||
const RimEclipseView* eclipseView = eclipseSelectionItem ? eclipseSelectionItem->m_view.p() : NULL;
|
RimEclipseView* eclipseView = eclipseSelectionItem ? eclipseSelectionItem->m_view.p() : NULL;
|
||||||
|
|
||||||
|
if (!eclipseSelectionItem && !eclipseView)
|
||||||
|
{
|
||||||
|
const Riu2dIntersectionSelectionItem* intersectionSelItem = dynamic_cast<const Riu2dIntersectionSelectionItem*>(selectionItem);
|
||||||
|
if (intersectionSelItem && intersectionSelItem->eclipseSelectionItem())
|
||||||
|
{
|
||||||
|
eclipseSelectionItem = intersectionSelItem->eclipseSelectionItem();
|
||||||
|
eclipseView = eclipseSelectionItem->m_view;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (m_targetPlotPanel->isVisible() && eclipseSelectionItem && eclipseView)
|
if (m_targetPlotPanel->isVisible() && eclipseSelectionItem && eclipseView)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,6 +30,8 @@
|
|||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimEclipseResultCase.h"
|
#include "RimEclipseResultCase.h"
|
||||||
|
#include "Rim2dIntersectionView.h"
|
||||||
|
#include "RimIntersection.h"
|
||||||
|
|
||||||
#include "cvfBase.h"
|
#include "cvfBase.h"
|
||||||
//#include "cvfTrace.h"
|
//#include "cvfTrace.h"
|
||||||
@@ -68,8 +70,18 @@ void RiuRelativePermeabilityPlotUpdater::updateOnSelectionChanged(const RiuSelec
|
|||||||
m_sourceEclipseViewOfLastPlot = NULL;
|
m_sourceEclipseViewOfLastPlot = NULL;
|
||||||
bool mustClearPlot = true;
|
bool mustClearPlot = true;
|
||||||
|
|
||||||
const RiuEclipseSelectionItem* eclipseSelectionItem = dynamic_cast<const RiuEclipseSelectionItem*>(selectionItem);
|
RiuEclipseSelectionItem* eclipseSelectionItem = dynamic_cast<RiuEclipseSelectionItem*>(const_cast<RiuSelectionItem*>(selectionItem));
|
||||||
const RimEclipseView* eclipseView = eclipseSelectionItem ? eclipseSelectionItem->m_view.p() : NULL;
|
RimEclipseView* eclipseView = eclipseSelectionItem ? eclipseSelectionItem->m_view.p() : NULL;
|
||||||
|
|
||||||
|
if (!eclipseSelectionItem && !eclipseView)
|
||||||
|
{
|
||||||
|
const Riu2dIntersectionSelectionItem* intersectionSelItem = dynamic_cast<const Riu2dIntersectionSelectionItem*>(selectionItem);
|
||||||
|
if (intersectionSelItem && intersectionSelItem->eclipseSelectionItem())
|
||||||
|
{
|
||||||
|
eclipseSelectionItem = intersectionSelItem->eclipseSelectionItem();
|
||||||
|
eclipseView = eclipseSelectionItem->m_view;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (m_targetPlotPanel->isVisible() && eclipseSelectionItem && eclipseView)
|
if (m_targetPlotPanel->isVisible() && eclipseSelectionItem && eclipseView)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -35,6 +35,8 @@
|
|||||||
#include "RimGeoMechCase.h"
|
#include "RimGeoMechCase.h"
|
||||||
#include "RimGeoMechResultDefinition.h"
|
#include "RimGeoMechResultDefinition.h"
|
||||||
#include "RimGeoMechView.h"
|
#include "RimGeoMechView.h"
|
||||||
|
#include "Rim2dIntersectionView.h"
|
||||||
|
#include "RimIntersection.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
|
|
||||||
#include "RiuFemResultTextBuilder.h"
|
#include "RiuFemResultTextBuilder.h"
|
||||||
@@ -238,6 +240,21 @@ void RiuSelectionChangedHandler::addCurveFromSelectionItem(const RiuGeoMechSelec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiuSelectionChangedHandler::addCurveFromSelectionItem(const Riu2dIntersectionSelectionItem* selectionItem) const
|
||||||
|
{
|
||||||
|
if (selectionItem->eclipseSelectionItem())
|
||||||
|
{
|
||||||
|
addCurveFromSelectionItem(selectionItem->eclipseSelectionItem());
|
||||||
|
}
|
||||||
|
else if (selectionItem->geoMechSelectionItem())
|
||||||
|
{
|
||||||
|
addCurveFromSelectionItem(selectionItem->geoMechSelectionItem());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -255,6 +272,13 @@ void RiuSelectionChangedHandler::addCurveFromSelectionItem(const RiuSelectionIte
|
|||||||
|
|
||||||
addCurveFromSelectionItem(geomSelectionItem);
|
addCurveFromSelectionItem(geomSelectionItem);
|
||||||
}
|
}
|
||||||
|
else if (itemAdded->type() == RiuSelectionItem::INTERSECTION_SELECTION_OBJECT)
|
||||||
|
{
|
||||||
|
const Riu2dIntersectionSelectionItem* _2dSelectionItem = static_cast<const Riu2dIntersectionSelectionItem*>(itemAdded);
|
||||||
|
|
||||||
|
addCurveFromSelectionItem(_2dSelectionItem);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -283,11 +307,19 @@ void RiuSelectionChangedHandler::updateResultInfo(const RiuSelectionItem* itemAd
|
|||||||
QString resultInfo;
|
QString resultInfo;
|
||||||
QString pickInfo;
|
QString pickInfo;
|
||||||
|
|
||||||
if (itemAdded != NULL)
|
RiuSelectionItem* selItem = const_cast<RiuSelectionItem*>(itemAdded);
|
||||||
|
if (selItem != NULL)
|
||||||
{
|
{
|
||||||
if (itemAdded->type() == RiuSelectionItem::ECLIPSE_SELECTION_OBJECT)
|
if (selItem->type() == RiuSelectionItem::INTERSECTION_SELECTION_OBJECT)
|
||||||
{
|
{
|
||||||
const RiuEclipseSelectionItem* eclipseSelectionItem = static_cast<const RiuEclipseSelectionItem*>(itemAdded);
|
const Riu2dIntersectionSelectionItem* wrapperSelItem = dynamic_cast<Riu2dIntersectionSelectionItem*>(selItem);
|
||||||
|
if (wrapperSelItem && wrapperSelItem->eclipseSelectionItem()) selItem = wrapperSelItem->eclipseSelectionItem();
|
||||||
|
else if (wrapperSelItem && wrapperSelItem->geoMechSelectionItem()) selItem = wrapperSelItem->geoMechSelectionItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selItem->type() == RiuSelectionItem::ECLIPSE_SELECTION_OBJECT)
|
||||||
|
{
|
||||||
|
const RiuEclipseSelectionItem* eclipseSelectionItem = static_cast<const RiuEclipseSelectionItem*>(selItem);
|
||||||
|
|
||||||
RimEclipseView* eclipseView = eclipseSelectionItem->m_view.p();
|
RimEclipseView* eclipseView = eclipseSelectionItem->m_view.p();
|
||||||
|
|
||||||
@@ -300,9 +332,9 @@ void RiuSelectionChangedHandler::updateResultInfo(const RiuSelectionItem* itemAd
|
|||||||
|
|
||||||
pickInfo = textBuilder.geometrySelectionText(", ");
|
pickInfo = textBuilder.geometrySelectionText(", ");
|
||||||
}
|
}
|
||||||
else if (itemAdded->type() == RiuSelectionItem::GEOMECH_SELECTION_OBJECT)
|
else if (selItem->type() == RiuSelectionItem::GEOMECH_SELECTION_OBJECT)
|
||||||
{
|
{
|
||||||
const RiuGeoMechSelectionItem* geomSelectionItem = static_cast<const RiuGeoMechSelectionItem*>(itemAdded);
|
const RiuGeoMechSelectionItem* geomSelectionItem = static_cast<const RiuGeoMechSelectionItem*>(selItem);
|
||||||
|
|
||||||
RimGeoMechView* geomView = geomSelectionItem->m_view.p();
|
RimGeoMechView* geomView = geomSelectionItem->m_view.p();
|
||||||
RiuFemResultTextBuilder textBuilder(geomView, (int)geomSelectionItem->m_gridIndex, (int)geomSelectionItem->m_cellIndex, geomView->currentTimeStep());
|
RiuFemResultTextBuilder textBuilder(geomView, (int)geomSelectionItem->m_gridIndex, (int)geomSelectionItem->m_cellIndex, geomView->currentTimeStep());
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
class RiuSelectionItem;
|
class RiuSelectionItem;
|
||||||
class RiuEclipseSelectionItem;
|
class RiuEclipseSelectionItem;
|
||||||
class RiuGeoMechSelectionItem;
|
class RiuGeoMechSelectionItem;
|
||||||
|
class Riu2dIntersectionSelectionItem;
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
@@ -40,6 +41,7 @@ private:
|
|||||||
void addCurveFromSelectionItem(const RiuSelectionItem* itemAdded) const;
|
void addCurveFromSelectionItem(const RiuSelectionItem* itemAdded) const;
|
||||||
void addCurveFromSelectionItem(const RiuEclipseSelectionItem* selectionItem) const;
|
void addCurveFromSelectionItem(const RiuEclipseSelectionItem* selectionItem) const;
|
||||||
void addCurveFromSelectionItem(const RiuGeoMechSelectionItem* selectionItem) const;
|
void addCurveFromSelectionItem(const RiuGeoMechSelectionItem* selectionItem) const;
|
||||||
|
void addCurveFromSelectionItem(const Riu2dIntersectionSelectionItem* selectionItem) const;
|
||||||
|
|
||||||
void scheduleUpdateForAllVisibleViews() const;
|
void scheduleUpdateForAllVisibleViews() const;
|
||||||
void updateResultInfo(const RiuSelectionItem* itemAdded) const;
|
void updateResultInfo(const RiuSelectionItem* itemAdded) const;
|
||||||
|
|||||||
@@ -19,9 +19,11 @@
|
|||||||
|
|
||||||
#include "RiuSelectionManager.h"
|
#include "RiuSelectionManager.h"
|
||||||
|
|
||||||
|
#include "RimGridView.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimGeoMechView.h"
|
#include "RimGeoMechView.h"
|
||||||
#include "RimSimWellInView.h"
|
#include "RimSimWellInView.h"
|
||||||
|
#include "Rim2dIntersectionView.h"
|
||||||
#include "RimWellPath.h"
|
#include "RimWellPath.h"
|
||||||
|
|
||||||
#include "RivSimWellPipeSourceInfo.h"
|
#include "RivSimWellPipeSourceInfo.h"
|
||||||
@@ -155,7 +157,13 @@ void RiuSelectionManager::deleteAllItemsFromSelection(int role)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RiuEclipseSelectionItem::RiuEclipseSelectionItem(RimEclipseView* view, size_t gridIndex, size_t cellIndex, size_t nncIndex, cvf::Color3f color, cvf::StructGridInterface::FaceType face, const cvf::Vec3d& localIntersectionPoint)
|
RiuEclipseSelectionItem::RiuEclipseSelectionItem(RimEclipseView* view,
|
||||||
|
size_t gridIndex,
|
||||||
|
size_t cellIndex,
|
||||||
|
size_t nncIndex,
|
||||||
|
cvf::Color3f color,
|
||||||
|
cvf::StructGridInterface::FaceType face,
|
||||||
|
const cvf::Vec3d& localIntersectionPoint)
|
||||||
: m_view(view),
|
: m_view(view),
|
||||||
m_gridIndex(gridIndex),
|
m_gridIndex(gridIndex),
|
||||||
m_gridLocalCellIndex(cellIndex),
|
m_gridLocalCellIndex(cellIndex),
|
||||||
@@ -207,6 +215,40 @@ RiuGeoMechSelectionItem::RiuGeoMechSelectionItem(RimGeoMechView* view,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
Riu2dIntersectionSelectionItem::Riu2dIntersectionSelectionItem(RiuSelectionItem *selItem)
|
||||||
|
{
|
||||||
|
m_eclipseSelItem = dynamic_cast<RiuEclipseSelectionItem*>(selItem);
|
||||||
|
m_geoMechSelItem = dynamic_cast<RiuGeoMechSelectionItem*>(selItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
Riu2dIntersectionSelectionItem::~Riu2dIntersectionSelectionItem()
|
||||||
|
{
|
||||||
|
if (m_eclipseSelItem) delete m_eclipseSelItem;
|
||||||
|
if (m_geoMechSelItem) delete m_geoMechSelItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RiuEclipseSelectionItem* Riu2dIntersectionSelectionItem::eclipseSelectionItem() const
|
||||||
|
{
|
||||||
|
return m_eclipseSelItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RiuGeoMechSelectionItem* Riu2dIntersectionSelectionItem::geoMechSelectionItem() const
|
||||||
|
{
|
||||||
|
return m_geoMechSelItem;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -32,9 +32,11 @@
|
|||||||
// #include "RivWellPathSourceInfo.h"
|
// #include "RivWellPathSourceInfo.h"
|
||||||
// #include "RivWellPipeSourceInfo.h"
|
// #include "RivWellPipeSourceInfo.h"
|
||||||
|
|
||||||
|
class RimGridView;
|
||||||
class RimEclipseView;
|
class RimEclipseView;
|
||||||
class RimGeoMechView;
|
class RimGeoMechView;
|
||||||
class RimSimWellInView;
|
class RimSimWellInView;
|
||||||
|
class Rim2dIntersectionView;
|
||||||
class RimWellPath;
|
class RimWellPath;
|
||||||
class RiuSelectionChangedHandler;
|
class RiuSelectionChangedHandler;
|
||||||
class RiuSelectionItem;
|
class RiuSelectionItem;
|
||||||
@@ -109,7 +111,8 @@ public:
|
|||||||
GEOMECH_SELECTION_OBJECT,
|
GEOMECH_SELECTION_OBJECT,
|
||||||
WELLPATH_SELECTION_OBJECT,
|
WELLPATH_SELECTION_OBJECT,
|
||||||
SIMWELL_SELECTION_OBJECT,
|
SIMWELL_SELECTION_OBJECT,
|
||||||
GENERAL_SELECTION_OBJECT
|
GENERAL_SELECTION_OBJECT,
|
||||||
|
INTERSECTION_SELECTION_OBJECT
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -128,8 +131,13 @@ public:
|
|||||||
class RiuEclipseSelectionItem : public RiuSelectionItem
|
class RiuEclipseSelectionItem : public RiuSelectionItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit RiuEclipseSelectionItem(RimEclipseView* view, size_t gridIndex, size_t cellIndex, size_t nncIndex,
|
explicit RiuEclipseSelectionItem(RimEclipseView* view,
|
||||||
cvf::Color3f color, cvf::StructGridInterface::FaceType face, const cvf::Vec3d& localIntersectionPoint);
|
size_t gridIndex,
|
||||||
|
size_t cellIndex,
|
||||||
|
size_t nncIndex,
|
||||||
|
cvf::Color3f color,
|
||||||
|
cvf::StructGridInterface::FaceType face,
|
||||||
|
const cvf::Vec3d& localIntersectionPoint);
|
||||||
|
|
||||||
virtual ~RiuEclipseSelectionItem() {};
|
virtual ~RiuEclipseSelectionItem() {};
|
||||||
|
|
||||||
@@ -190,6 +198,33 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//==================================================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==================================================================================================
|
||||||
|
class Riu2dIntersectionSelectionItem : public RiuSelectionItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit Riu2dIntersectionSelectionItem(RiuSelectionItem *selItem);
|
||||||
|
|
||||||
|
virtual ~Riu2dIntersectionSelectionItem();
|
||||||
|
|
||||||
|
virtual RiuSelectionType type() const
|
||||||
|
{
|
||||||
|
return INTERSECTION_SELECTION_OBJECT;
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
RiuEclipseSelectionItem* eclipseSelectionItem() const;
|
||||||
|
RiuGeoMechSelectionItem* geoMechSelectionItem() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
RiuEclipseSelectionItem* m_eclipseSelItem;
|
||||||
|
RiuGeoMechSelectionItem* m_geoMechSelItem;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
#include "RimPerforationInterval.h"
|
#include "RimPerforationInterval.h"
|
||||||
#include "RimStimPlanFractureTemplate.h"
|
#include "RimStimPlanFractureTemplate.h"
|
||||||
#include "RimEllipseFractureTemplate.h"
|
#include "RimEllipseFractureTemplate.h"
|
||||||
|
#include "Rim2dIntersectionView.h"
|
||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuSelectionManager.h"
|
#include "RiuSelectionManager.h"
|
||||||
@@ -605,27 +606,35 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM
|
|||||||
|
|
||||||
RiuSelectionItem* selItem = nullptr;
|
RiuSelectionItem* selItem = nullptr;
|
||||||
{
|
{
|
||||||
|
Rim2dIntersectionView* intersectionView = dynamic_cast<Rim2dIntersectionView*>(m_reservoirView.p());
|
||||||
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(m_reservoirView.p());
|
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(m_reservoirView.p());
|
||||||
|
RimGeoMechView* geomView = dynamic_cast<RimGeoMechView*>(m_reservoirView.p());
|
||||||
|
|
||||||
|
if (intersectionView)
|
||||||
|
{
|
||||||
|
intersectionView->intersection()->firstAncestorOrThisOfType(eclipseView);
|
||||||
|
intersectionView->intersection()->firstAncestorOrThisOfType(geomView);
|
||||||
|
}
|
||||||
|
|
||||||
if (eclipseView)
|
if (eclipseView)
|
||||||
{
|
{
|
||||||
selItem = new RiuEclipseSelectionItem(eclipseView, gridIndex, cellIndex, nncIndex, curveColor, face, localIntersectionPoint);
|
selItem = new RiuEclipseSelectionItem(eclipseView, gridIndex, cellIndex, nncIndex, curveColor, face, localIntersectionPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
RimGeoMechView* geomView = dynamic_cast<RimGeoMechView*>(m_reservoirView.p());
|
if (geomView)
|
||||||
if (geomView )
|
|
||||||
{
|
{
|
||||||
if(intersectionHit) selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint, intersectionTriangleHit);
|
if(intersectionHit) selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint, intersectionTriangleHit);
|
||||||
else selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint);
|
else selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (intersectionView) selItem = new Riu2dIntersectionSelectionItem(selItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appendToSelection)
|
if (appendToSelection)
|
||||||
{
|
{
|
||||||
RiuSelectionManager::instance()->appendItemToSelection(selItem);
|
RiuSelectionManager::instance()->appendItemToSelection(selItem);
|
||||||
}
|
}
|
||||||
else
|
else if(selItem)
|
||||||
{
|
{
|
||||||
RiuSelectionManager::instance()->setSelectedItem(selItem);
|
RiuSelectionManager::instance()->setSelectedItem(selItem);
|
||||||
}
|
}
|
||||||
@@ -648,17 +657,23 @@ void RiuViewerCommands::findCellAndGridIndex(const RivIntersectionSourceInfo* cr
|
|||||||
{
|
{
|
||||||
CVF_ASSERT(cellIndex && gridIndex);
|
CVF_ASSERT(cellIndex && gridIndex);
|
||||||
|
|
||||||
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(m_reservoirView.p());
|
RimCase* ownerCase = m_reservoirView->ownerCase();
|
||||||
RimGeoMechView* geomView = dynamic_cast<RimGeoMechView*>(m_reservoirView.p());
|
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(ownerCase);
|
||||||
if (eclipseView)
|
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(ownerCase);
|
||||||
|
if (eclipseCase)
|
||||||
{
|
{
|
||||||
|
//RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(m_reservoirView.p());
|
||||||
|
RimEclipseView* eclipseView;
|
||||||
|
crossSectionSourceInfo->crossSection()->firstAncestorOrThisOfType(eclipseView);
|
||||||
|
|
||||||
size_t globalCellIndex = crossSectionSourceInfo->triangleToCellIndex()[firstPartTriangleIndex];
|
size_t globalCellIndex = crossSectionSourceInfo->triangleToCellIndex()[firstPartTriangleIndex];
|
||||||
|
|
||||||
const RigCell& cell = eclipseView->mainGrid()->globalCellArray()[globalCellIndex];
|
const RigCell& cell = eclipseView->mainGrid()->globalCellArray()[globalCellIndex];
|
||||||
|
|
||||||
*cellIndex = cell.gridLocalCellIndex();
|
*cellIndex = cell.gridLocalCellIndex();
|
||||||
*gridIndex = cell.hostGrid()->gridIndex();
|
*gridIndex = cell.hostGrid()->gridIndex();
|
||||||
}
|
}
|
||||||
else if (geomView)
|
else if (geomCase)
|
||||||
{
|
{
|
||||||
*cellIndex = crossSectionSourceInfo->triangleToCellIndex()[firstPartTriangleIndex];
|
*cellIndex = crossSectionSourceInfo->triangleToCellIndex()[firstPartTriangleIndex];
|
||||||
*gridIndex = 0;
|
*gridIndex = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user