mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2476 2dIntersectionView. Clean up context menus
This commit is contained in:
parent
15e242d1e3
commit
b7e8834b4c
@ -25,18 +25,31 @@
|
||||
#include "RimGeoMechCellColors.h"
|
||||
#include "RimGeoMechView.h"
|
||||
#include "RimGridView.h"
|
||||
#include "Rim2dIntersectionView.h"
|
||||
#include "RimIntersection.h"
|
||||
|
||||
#include "Riu3DMainWindowTools.h"
|
||||
|
||||
#include <QAction>
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicSelectColorResult, "RicSelectColorResult");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal function
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGridView* gridViewFrom2dIntersectionView(const Rim2dIntersectionView* int2dView)
|
||||
{
|
||||
RimGridView* gridView = nullptr;
|
||||
int2dView->intersection()->firstAncestorOrThisOfType(gridView);
|
||||
return gridView;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicSelectColorResult::setupActionLook(QAction* actionToSetup)
|
||||
{
|
||||
actionToSetup->setText("Color Result");
|
||||
actionToSetup->setText("Select Color Result");
|
||||
actionToSetup->setIcon(QIcon(":/CellResult.png"));
|
||||
}
|
||||
|
||||
@ -47,7 +60,7 @@ bool RicSelectColorResult::isCommandEnabled()
|
||||
{
|
||||
if (RicWellLogTools::isWellPathOrSimWellSelectedInView()) return false;
|
||||
|
||||
return RiaApplication::instance()->activeGridView() != nullptr;
|
||||
return RiaApplication::instance()->activeReservoirView() != nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -55,18 +68,23 @@ bool RicSelectColorResult::isCommandEnabled()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicSelectColorResult::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
||||
Rim3dView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||
Rim2dIntersectionView* int2dView = dynamic_cast<Rim2dIntersectionView*>(activeView);
|
||||
RimGridView* gridView = nullptr;
|
||||
|
||||
RimEclipseView* eclView = dynamic_cast<RimEclipseView*>(activeView);
|
||||
if (int2dView) gridView = gridViewFrom2dIntersectionView(int2dView);
|
||||
else gridView = dynamic_cast<RimGridView*>(activeView);
|
||||
|
||||
RimEclipseView* eclView = dynamic_cast<RimEclipseView*>(gridView);
|
||||
if (eclView)
|
||||
{
|
||||
Riu3DMainWindowTools::selectAsCurrentItem(eclView->cellResult());
|
||||
Riu3DMainWindowTools::selectAsCurrentItem(eclView->cellResult(), int2dView == nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
RimGeoMechView* geoMechView = dynamic_cast<RimGeoMechView*>(activeView);
|
||||
RimGeoMechView* geoMechView = dynamic_cast<RimGeoMechView*>(gridView);
|
||||
if (geoMechView)
|
||||
{
|
||||
Riu3DMainWindowTools::selectAsCurrentItem(geoMechView->cellResult());
|
||||
Riu3DMainWindowTools::selectAsCurrentItem(geoMechView->cellResult(), int2dView== nullptr);
|
||||
}
|
||||
}
|
||||
|
@ -116,10 +116,10 @@ bool RicWellLogTools::isWellPathOrSimWellSelectedInView()
|
||||
RiuSelectionManager* riuSelManager = RiuSelectionManager::instance();
|
||||
RiuSelectionItem* selItem = riuSelManager->selectedItem(RiuSelectionManager::RUI_TEMPORARY);
|
||||
|
||||
RiuSimWellSelectionItem* simWellSelectionItem = static_cast<RiuSimWellSelectionItem*>(selItem);
|
||||
RiuSimWellSelectionItem* simWellSelectionItem = dynamic_cast<RiuSimWellSelectionItem*>(selItem);
|
||||
if (simWellSelectionItem) return true;
|
||||
|
||||
RiuWellPathSelectionItem* wellPathSelectionItem = static_cast<RiuWellPathSelectionItem*>(selItem);
|
||||
RiuWellPathSelectionItem* wellPathSelectionItem = dynamic_cast<RiuWellPathSelectionItem*>(selItem);
|
||||
if (wellPathSelectionItem) return true;
|
||||
|
||||
return false;
|
||||
|
@ -120,7 +120,7 @@ void Rim2dIntersectionView::setIntersection(RimIntersection* intersection)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimIntersection* Rim2dIntersectionView::intersection()
|
||||
RimIntersection* Rim2dIntersectionView::intersection() const
|
||||
{
|
||||
return m_intersection();
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public:
|
||||
|
||||
void setVisible(bool isVisible);
|
||||
void setIntersection(RimIntersection* intersection);
|
||||
RimIntersection* intersection();
|
||||
RimIntersection* intersection() const;
|
||||
|
||||
virtual bool isUsingFormationNames() const override;
|
||||
virtual void scheduleGeometryRegen(RivCellSetEnum geometryType) override;
|
||||
|
@ -160,6 +160,10 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
|
||||
m_currentPickPositionInDomainCoords = cvf::Vec3d::UNDEFINED;
|
||||
|
||||
// Check type of view
|
||||
RimGridView* gridView = dynamic_cast<RimGridView*>(m_reservoirView.p());
|
||||
Rim2dIntersectionView* int2dView = dynamic_cast<Rim2dIntersectionView*>(m_reservoirView.p());
|
||||
|
||||
cvf::HitItemCollection hitItems;
|
||||
if (m_viewer->rayPick(winPosX, winPosY, &hitItems))
|
||||
{
|
||||
@ -187,10 +191,9 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
|
||||
cvf::Vec3d displayModelOffset = cvf::Vec3d::ZERO;
|
||||
|
||||
Rim3dView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||
if (activeView)
|
||||
if (m_reservoirView.p())
|
||||
{
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = activeView->displayCoordTransform();
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = m_reservoirView.p()->displayCoordTransform();
|
||||
m_currentPickPositionInDomainCoords = transForm->transformToDomainCoord(globalIntersectionPoint);
|
||||
}
|
||||
|
||||
@ -228,10 +231,17 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
RiuSelectionItem* selItem = new RiuGeneralSelectionItem(crossSectionSourceInfo->crossSection());
|
||||
RiuSelectionManager::instance()->setSelectedItem(selItem, RiuSelectionManager::RUI_TEMPORARY);
|
||||
|
||||
menuBuilder << "RicHideIntersectionFeature";
|
||||
menuBuilder.addSeparator();
|
||||
menuBuilder << "RicNewIntersectionViewFeature";
|
||||
menuBuilder.addSeparator();
|
||||
if (gridView)
|
||||
{
|
||||
menuBuilder << "RicHideIntersectionFeature";
|
||||
menuBuilder.addSeparator();
|
||||
menuBuilder << "RicNewIntersectionViewFeature";
|
||||
menuBuilder.addSeparator();
|
||||
}
|
||||
else if (int2dView)
|
||||
{
|
||||
menuBuilder << "RicSelectColorResult";
|
||||
}
|
||||
}
|
||||
else if (intersectionBoxSourceInfo)
|
||||
{
|
||||
@ -245,51 +255,54 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
menuBuilder.addSeparator();
|
||||
}
|
||||
|
||||
// IJK -slice commands
|
||||
RimViewController* viewController = nullptr;
|
||||
if (m_reservoirView) viewController = m_reservoirView->viewController();
|
||||
|
||||
if (!viewController || !viewController->isRangeFiltersControlled())
|
||||
if (gridView)
|
||||
{
|
||||
size_t i, j, k;
|
||||
ijkFromCellIndex(m_currentGridIdx, m_currentCellIndex, &i, &j, &k);
|
||||
// IJK -slice commands
|
||||
RimViewController* viewController = nullptr;
|
||||
if (m_reservoirView) viewController = m_reservoirView->viewController();
|
||||
|
||||
QVariantList iSliceList;
|
||||
iSliceList.push_back(0);
|
||||
iSliceList.push_back(CVF_MAX(static_cast<int>(i + 1), 1));
|
||||
|
||||
QVariantList jSliceList;
|
||||
jSliceList.push_back(1);
|
||||
jSliceList.push_back(CVF_MAX(static_cast<int>(j + 1), 1));
|
||||
if (!viewController || !viewController->isRangeFiltersControlled())
|
||||
{
|
||||
size_t i, j, k;
|
||||
ijkFromCellIndex(m_currentGridIdx, m_currentCellIndex, &i, &j, &k);
|
||||
|
||||
QVariantList kSliceList;
|
||||
kSliceList.push_back(2);
|
||||
kSliceList.push_back(CVF_MAX(static_cast<int>(k + 1), 1));
|
||||
QVariantList iSliceList;
|
||||
iSliceList.push_back(0);
|
||||
iSliceList.push_back(CVF_MAX(static_cast<int>(i + 1), 1));
|
||||
|
||||
menuBuilder.subMenuStart("Range Filter Slice", QIcon(":/CellFilter_Range.png"));
|
||||
QVariantList jSliceList;
|
||||
jSliceList.push_back(1);
|
||||
jSliceList.push_back(CVF_MAX(static_cast<int>(j + 1), 1));
|
||||
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "I-slice Range Filter", iSliceList);
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "J-slice Range Filter", jSliceList);
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "K-slice Range Filter", kSliceList);
|
||||
QVariantList kSliceList;
|
||||
kSliceList.push_back(2);
|
||||
kSliceList.push_back(CVF_MAX(static_cast<int>(k + 1), 1));
|
||||
|
||||
menuBuilder.subMenuEnd();
|
||||
menuBuilder.subMenuStart("Range Filter Slice", QIcon(":/CellFilter_Range.png"));
|
||||
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "I-slice Range Filter", iSliceList);
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "J-slice Range Filter", jSliceList);
|
||||
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "K-slice Range Filter", kSliceList);
|
||||
|
||||
menuBuilder.subMenuEnd();
|
||||
}
|
||||
|
||||
menuBuilder << "RicEclipsePropertyFilterNewInViewFeature";
|
||||
menuBuilder << "RicGeoMechPropertyFilterNewInViewFeature";
|
||||
|
||||
menuBuilder.addSeparator();
|
||||
|
||||
menuBuilder.subMenuStart("Intersections", QIcon(":/IntersectionXPlane16x16.png"));
|
||||
|
||||
menuBuilder << "RicNewPolylineIntersectionFeature";
|
||||
menuBuilder << "RicNewAzimuthDipIntersectionFeature";
|
||||
menuBuilder << "RicIntersectionBoxAtPosFeature";
|
||||
|
||||
menuBuilder << "RicIntersectionBoxXSliceFeature";
|
||||
menuBuilder << "RicIntersectionBoxYSliceFeature";
|
||||
menuBuilder << "RicIntersectionBoxZSliceFeature";
|
||||
}
|
||||
|
||||
menuBuilder << "RicEclipsePropertyFilterNewInViewFeature";
|
||||
menuBuilder << "RicGeoMechPropertyFilterNewInViewFeature";
|
||||
|
||||
menuBuilder.addSeparator();
|
||||
|
||||
menuBuilder.subMenuStart("Intersections", QIcon(":/IntersectionXPlane16x16.png"));
|
||||
|
||||
menuBuilder << "RicNewPolylineIntersectionFeature";
|
||||
menuBuilder << "RicNewAzimuthDipIntersectionFeature";
|
||||
menuBuilder << "RicIntersectionBoxAtPosFeature";
|
||||
|
||||
menuBuilder << "RicIntersectionBoxXSliceFeature";
|
||||
menuBuilder << "RicIntersectionBoxYSliceFeature";
|
||||
menuBuilder << "RicIntersectionBoxZSliceFeature";
|
||||
|
||||
menuBuilder.subMenuEnd();
|
||||
|
||||
menuBuilder.addSeparator();
|
||||
@ -414,18 +427,31 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
// View Link commands
|
||||
if (!firstHitPart)
|
||||
{
|
||||
menuBuilder << "RicLinkViewFeature";
|
||||
menuBuilder << "RicShowLinkOptionsFeature";
|
||||
menuBuilder << "RicSetMasterViewFeature";
|
||||
menuBuilder << "RicUnLinkViewFeature";
|
||||
if (gridView)
|
||||
{
|
||||
menuBuilder << "RicLinkViewFeature";
|
||||
menuBuilder << "RicShowLinkOptionsFeature";
|
||||
menuBuilder << "RicSetMasterViewFeature";
|
||||
menuBuilder << "RicUnLinkViewFeature";
|
||||
}
|
||||
else if (int2dView)
|
||||
{
|
||||
menuBuilder << "RicSelectColorResult";
|
||||
}
|
||||
}
|
||||
|
||||
menuBuilder.addSeparator();
|
||||
menuBuilder << "RicNewGridTimeHistoryCurveFeature";
|
||||
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
|
||||
menuBuilder << "RicSaveEclipseInputActiveVisibleCellsFeature";
|
||||
menuBuilder << "RicShowGridStatisticsFeature";
|
||||
menuBuilder << "RicSelectColorResult";
|
||||
if (gridView)
|
||||
{
|
||||
menuBuilder.addSeparator();
|
||||
menuBuilder << "RicNewGridTimeHistoryCurveFeature";
|
||||
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
|
||||
menuBuilder << "RicSaveEclipseInputActiveVisibleCellsFeature";
|
||||
menuBuilder << "RicShowGridStatisticsFeature";
|
||||
menuBuilder << "RicSelectColorResult";
|
||||
}
|
||||
else if (int2dView)
|
||||
{
|
||||
}
|
||||
|
||||
menuBuilder.appendToMenu(&menu);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user