mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4857 Add support to distinguish 3D-view commands done in the main and comparison view
Support annotation and rangefilter creation in the comparison view
This commit is contained in:
parent
caed6bfa91
commit
5a72de405d
@ -84,6 +84,9 @@
|
|||||||
#include "RimWellPltPlot.h"
|
#include "RimWellPltPlot.h"
|
||||||
#include "RimWellRftPlot.h"
|
#include "RimWellRftPlot.h"
|
||||||
|
|
||||||
|
#include "RiuViewer.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "cafPdmSettings.h"
|
#include "cafPdmSettings.h"
|
||||||
#include "cafPdmUiModelChangeDetector.h"
|
#include "cafPdmUiModelChangeDetector.h"
|
||||||
#include "cafProgressInfo.h"
|
#include "cafProgressInfo.h"
|
||||||
@ -258,6 +261,25 @@ RimGridView* RiaApplication::activeGridView()
|
|||||||
return dynamic_cast<RimGridView*>( m_activeReservoirView.p() );
|
return dynamic_cast<RimGridView*>( m_activeReservoirView.p() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RimGridView* RiaApplication::activeMainOrComparisonGridView()
|
||||||
|
{
|
||||||
|
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
||||||
|
RimGridView* viewOrComparisonView = activeView;
|
||||||
|
|
||||||
|
if ( activeView->viewer()->viewerCommands()->isCurrentPickInComparisonView() )
|
||||||
|
{
|
||||||
|
if ( RimGridView* compView = dynamic_cast<RimGridView*>( activeView->activeComparisonView() ) )
|
||||||
|
{
|
||||||
|
viewOrComparisonView = compView;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return viewOrComparisonView;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -112,6 +112,7 @@ public:
|
|||||||
Rim3dView* activeReservoirView();
|
Rim3dView* activeReservoirView();
|
||||||
const Rim3dView* activeReservoirView() const;
|
const Rim3dView* activeReservoirView() const;
|
||||||
RimGridView* activeGridView();
|
RimGridView* activeGridView();
|
||||||
|
RimGridView* activeMainOrComparisonGridView();
|
||||||
|
|
||||||
RimProject* project();
|
RimProject* project();
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "cvfBoundingBox.h"
|
#include "cvfBoundingBox.h"
|
||||||
#include "cvfCamera.h"
|
#include "cvfCamera.h"
|
||||||
@ -57,12 +58,14 @@ void RicCreateTextAnnotationIn3dViewFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
if ( activeView )
|
if ( activeView )
|
||||||
{
|
{
|
||||||
cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords();
|
RimGridView* viewOrComparisonView = RiaApplication::instance()->activeMainOrComparisonGridView();
|
||||||
cvf::BoundingBox bbox = activeView->ownerCase()->activeCellsBoundingBox();
|
|
||||||
|
cvf::Vec3d domainCoord = activeView->viewer()->viewerCommands()->lastPickPositionInDomainCoords();
|
||||||
|
cvf::BoundingBox bbox = viewOrComparisonView->ownerCase()->activeCellsBoundingBox();
|
||||||
|
|
||||||
if ( contMapView ) domainCoord[2] = bbox.max().z() - bbox.extent().z() * 0.2;
|
if ( contMapView ) domainCoord[2] = bbox.max().z() - bbox.extent().z() * 0.2;
|
||||||
|
|
||||||
auto coll = activeView->annotationCollection();
|
auto coll = viewOrComparisonView->annotationCollection();
|
||||||
|
|
||||||
if ( coll )
|
if ( coll )
|
||||||
{
|
{
|
||||||
@ -70,7 +73,9 @@ void RicCreateTextAnnotationIn3dViewFeature::onActionTriggered( bool isChecked )
|
|||||||
newAnnotation->setAnchorPoint( domainCoord );
|
newAnnotation->setAnchorPoint( domainCoord );
|
||||||
cvf::Vec3d labelPos = domainCoord;
|
cvf::Vec3d labelPos = domainCoord;
|
||||||
|
|
||||||
if ( activeView->viewer()->mainCamera()->direction().z() <= 0 )
|
cvf::Camera* viewCamera = activeView->viewer()->mainCamera();
|
||||||
|
|
||||||
|
if ( viewCamera->direction().z() <= 0 )
|
||||||
{
|
{
|
||||||
labelPos.z() = bbox.max().z();
|
labelPos.z() = bbox.max().z();
|
||||||
}
|
}
|
||||||
@ -79,10 +84,10 @@ void RicCreateTextAnnotationIn3dViewFeature::onActionTriggered( bool isChecked )
|
|||||||
labelPos.z() = bbox.min().z();
|
labelPos.z() = bbox.min().z();
|
||||||
}
|
}
|
||||||
|
|
||||||
cvf::Vec3d horizontalRight = activeView->viewer()->mainCamera()->direction() ^ cvf::Vec3d::Z_AXIS;
|
cvf::Vec3d horizontalRight = viewCamera->direction() ^ cvf::Vec3d::Z_AXIS;
|
||||||
cvf::Vec3d horizontalUp = activeView->viewer()->mainCamera()->up() -
|
cvf::Vec3d horizontalUp = viewCamera->up() -
|
||||||
( cvf::Vec3d::Z_AXIS *
|
( cvf::Vec3d::Z_AXIS * ( viewCamera->up() * cvf::Vec3d::Z_AXIS ) );
|
||||||
( activeView->viewer()->mainCamera()->up() * cvf::Vec3d::Z_AXIS ) );
|
|
||||||
bool isOk = horizontalRight.normalize();
|
bool isOk = horizontalRight.normalize();
|
||||||
if ( !isOk ) horizontalRight = {1.0, 0.0, 0.0};
|
if ( !isOk ) horizontalRight = {1.0, 0.0, 0.0};
|
||||||
|
|
||||||
@ -93,7 +98,7 @@ void RicCreateTextAnnotationIn3dViewFeature::onActionTriggered( bool isChecked )
|
|||||||
coll->scheduleRedrawOfRelevantViews();
|
coll->scheduleRedrawOfRelevantViews();
|
||||||
coll->updateConnectedEditors();
|
coll->updateConnectedEditors();
|
||||||
|
|
||||||
RiuMainWindow::instance()->selectAsCurrentItem( newAnnotation );
|
RiuMainWindow::instance()->selectAsCurrentItem( newAnnotation, false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "cafCmdExecCommandManager.h"
|
#include "cafCmdExecCommandManager.h"
|
||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
@ -61,7 +62,8 @@ void RicIntersectionBoxAtPosFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
||||||
|
|
||||||
cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords();
|
cvf::Vec3d domainCoord = activeView->viewer()->viewerCommands()->lastPickPositionInDomainCoords();
|
||||||
|
|
||||||
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_NONE, domainCoord );
|
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_NONE, domainCoord );
|
||||||
|
|
||||||
coll->updateConnectedEditors();
|
coll->updateConnectedEditors();
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimIntersectionBox.h"
|
#include "RimIntersectionBox.h"
|
||||||
#include "RimIntersectionCollection.h"
|
#include "RimIntersectionCollection.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
@ -61,7 +62,7 @@ void RicIntersectionBoxXSliceFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
||||||
|
|
||||||
cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords();
|
cvf::Vec3d domainCoord = activeView->viewer()->viewerCommands()->lastPickPositionInDomainCoords();
|
||||||
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_X, domainCoord );
|
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_X, domainCoord );
|
||||||
|
|
||||||
coll->updateConnectedEditors();
|
coll->updateConnectedEditors();
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "cafCmdExecCommandManager.h"
|
#include "cafCmdExecCommandManager.h"
|
||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
@ -61,7 +62,7 @@ void RicIntersectionBoxYSliceFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
||||||
|
|
||||||
cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords();
|
cvf::Vec3d domainCoord = activeView->viewer()->viewerCommands()->lastPickPositionInDomainCoords();
|
||||||
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_Y, domainCoord );
|
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_Y, domainCoord );
|
||||||
|
|
||||||
coll->updateConnectedEditors();
|
coll->updateConnectedEditors();
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimIntersectionBox.h"
|
#include "RimIntersectionBox.h"
|
||||||
#include "RimIntersectionCollection.h"
|
#include "RimIntersectionCollection.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
@ -60,7 +61,8 @@ void RicIntersectionBoxZSliceFeature::onActionTriggered( bool isChecked )
|
|||||||
intersectionBox->name = QString( "Z-slice (Intersection box)" );
|
intersectionBox->name = QString( "Z-slice (Intersection box)" );
|
||||||
|
|
||||||
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
coll->appendIntersectionBoxAndUpdate( intersectionBox );
|
||||||
cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords();
|
cvf::Vec3d domainCoord = activeView->viewer()->viewerCommands()->lastPickPositionInDomainCoords();
|
||||||
|
|
||||||
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_Z, domainCoord );
|
intersectionBox->setToDefaultSizeSlice( RimIntersectionBox::PLANE_STATE_Z, domainCoord );
|
||||||
|
|
||||||
coll->updateConnectedEditors();
|
coll->updateConnectedEditors();
|
||||||
|
@ -26,23 +26,28 @@
|
|||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimViewController.h"
|
#include "RimViewController.h"
|
||||||
|
|
||||||
|
#include "RiuViewer.h"
|
||||||
|
#include "RiuViewerCommands.h"
|
||||||
|
|
||||||
#include "cafCmdExecCommandManager.h"
|
#include "cafCmdExecCommandManager.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
|
|
||||||
CAF_CMD_SOURCE_INIT( RicNewSliceRangeFilterFeature, "RicNewSliceRangeFilterFeature" );
|
CAF_CMD_SOURCE_INIT( RicNewSliceRangeFilter3dViewFeature, "RicNewSliceRangeFilter3dViewFeature" );
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RicNewSliceRangeFilterFeature::isCommandEnabled()
|
bool RicNewSliceRangeFilter3dViewFeature::isCommandEnabled()
|
||||||
{
|
{
|
||||||
RimGridView* view = RiaApplication::instance()->activeGridView();
|
RimGridView* view = RiaApplication::instance()->activeGridView();
|
||||||
if ( !view ) return false;
|
if ( !view ) return false;
|
||||||
|
|
||||||
RimViewController* vc = view->viewController();
|
RimGridView* viewOrComparisonView = RiaApplication::instance()->activeMainOrComparisonGridView();
|
||||||
|
|
||||||
|
RimViewController* vc = viewOrComparisonView->viewController();
|
||||||
if ( !vc ) return true;
|
if ( !vc ) return true;
|
||||||
|
|
||||||
return ( !vc->isRangeFiltersControlled() );
|
return ( !vc->isRangeFiltersControlled() );
|
||||||
@ -51,14 +56,16 @@ bool RicNewSliceRangeFilterFeature::isCommandEnabled()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicNewSliceRangeFilterFeature::onActionTriggered( bool isChecked )
|
void RicNewSliceRangeFilter3dViewFeature::onActionTriggered( bool isChecked )
|
||||||
{
|
{
|
||||||
QVariant userData = this->userData();
|
QVariant userData = this->userData();
|
||||||
|
|
||||||
if ( !userData.isNull() && userData.type() == QVariant::List )
|
if ( !userData.isNull() && userData.type() == QVariant::List )
|
||||||
{
|
{
|
||||||
RimGridView* view = RiaApplication::instance()->activeGridView();
|
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
||||||
RimCellRangeFilterCollection* rangeFilterCollection = view->rangeFilterCollection();
|
RimGridView* viewOrComparisonView = RiaApplication::instance()->activeMainOrComparisonGridView();
|
||||||
|
|
||||||
|
RimCellRangeFilterCollection* rangeFilterCollection = viewOrComparisonView->rangeFilterCollection();
|
||||||
|
|
||||||
RicRangeFilterNewExec* filterExec = new RicRangeFilterNewExec( rangeFilterCollection );
|
RicRangeFilterNewExec* filterExec = new RicRangeFilterNewExec( rangeFilterCollection );
|
||||||
|
|
||||||
@ -87,14 +94,14 @@ void RicNewSliceRangeFilterFeature::onActionTriggered( bool isChecked )
|
|||||||
}
|
}
|
||||||
|
|
||||||
caf::CmdExecCommandManager::instance()->processExecuteCommand( filterExec );
|
caf::CmdExecCommandManager::instance()->processExecuteCommand( filterExec );
|
||||||
view->setSurfaceDrawstyle();
|
activeView->setSurfaceDrawstyle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicNewSliceRangeFilterFeature::setupActionLook( QAction* actionToSetup )
|
void RicNewSliceRangeFilter3dViewFeature::setupActionLook( QAction* actionToSetup )
|
||||||
{
|
{
|
||||||
actionToSetup->setIcon( QIcon( ":/CellFilter_Range.png" ) );
|
actionToSetup->setIcon( QIcon( ":/CellFilter_Range.png" ) );
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
class RicNewSliceRangeFilterFeature : public caf::CmdFeature
|
class RicNewSliceRangeFilter3dViewFeature : public caf::CmdFeature
|
||||||
{
|
{
|
||||||
CAF_CMD_HEADER_INIT;
|
CAF_CMD_HEADER_INIT;
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ void RicRangeFilterNewExec::redo()
|
|||||||
|
|
||||||
m_cellRangeFilterCollection->updateConnectedEditors();
|
m_cellRangeFilterCollection->updateConnectedEditors();
|
||||||
|
|
||||||
Riu3DMainWindowTools::selectAsCurrentItem( rangeFilter );
|
Riu3DMainWindowTools::selectAsCurrentItem( rangeFilter, false );
|
||||||
|
|
||||||
// Trigger update of view following the range filter update
|
// Trigger update of view following the range filter update
|
||||||
RimGridView* view = nullptr;
|
RimGridView* view = nullptr;
|
||||||
|
@ -976,11 +976,9 @@ void RiuViewer::setAxisLabels( const cvf::String& xLabel, const cvf::String& yLa
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
cvf::Vec3d RiuViewer::lastPickPositionInDomainCoords() const
|
RiuViewerCommands* RiuViewer::viewerCommands() const
|
||||||
{
|
{
|
||||||
CVF_ASSERT( m_viewerCommands );
|
return m_viewerCommands;
|
||||||
|
|
||||||
return m_viewerCommands->lastPickPositionInDomainCoords();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -120,7 +120,7 @@ public:
|
|||||||
void showAxisCross( bool enable );
|
void showAxisCross( bool enable );
|
||||||
void setAxisLabels( const cvf::String& xLabel, const cvf::String& yLabel, const cvf::String& zLabel );
|
void setAxisLabels( const cvf::String& xLabel, const cvf::String& yLabel, const cvf::String& zLabel );
|
||||||
|
|
||||||
cvf::Vec3d lastPickPositionInDomainCoords() const;
|
RiuViewerCommands* viewerCommands() const;
|
||||||
|
|
||||||
cvf::OverlayItem* pickFixedPositionedLegend( int winPosX, int winPosY );
|
cvf::OverlayItem* pickFixedPositionedLegend( int winPosX, int winPosY );
|
||||||
|
|
||||||
|
@ -165,8 +165,8 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isComparisonViewPick = m_viewer->isMousePosWithinComparisonView( event->x(), event->y() );
|
m_isCurrentPickInComparisonView = m_viewer->isMousePosWithinComparisonView( event->x(), event->y() );
|
||||||
Rim3dView* mainOrComparisonView = isComparisonViewPick ? m_reservoirView->activeComparisonView()
|
Rim3dView* mainOrComparisonView = m_isCurrentPickInComparisonView ? m_reservoirView->activeComparisonView()
|
||||||
: m_reservoirView.p();
|
: m_reservoirView.p();
|
||||||
|
|
||||||
// Find the following data
|
// Find the following data
|
||||||
@ -320,13 +320,13 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
|
|||||||
|
|
||||||
menuBuilder.subMenuStart( "Range Filter Slice", QIcon( ":/CellFilter_Range.png" ) );
|
menuBuilder.subMenuStart( "Range Filter Slice", QIcon( ":/CellFilter_Range.png" ) );
|
||||||
|
|
||||||
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilterFeature",
|
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilter3dViewFeature",
|
||||||
"I-slice Range Filter",
|
"I-slice Range Filter",
|
||||||
iSliceList );
|
iSliceList );
|
||||||
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilterFeature",
|
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilter3dViewFeature",
|
||||||
"J-slice Range Filter",
|
"J-slice Range Filter",
|
||||||
jSliceList );
|
jSliceList );
|
||||||
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilterFeature",
|
menuBuilder.addCmdFeatureWithUserData( "RicNewSliceRangeFilter3dViewFeature",
|
||||||
"K-slice Range Filter",
|
"K-slice Range Filter",
|
||||||
kSliceList );
|
kSliceList );
|
||||||
|
|
||||||
@ -588,8 +588,8 @@ void RiuViewerCommands::handlePickAction( int winPosX, int winPosY, Qt::Keyboard
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isComparisonViewPick = m_viewer->isMousePosWithinComparisonView( winPosX, winPosY );
|
m_isCurrentPickInComparisonView = m_viewer->isMousePosWithinComparisonView( winPosX, winPosY );
|
||||||
Rim3dView* mainOrComparisonView = isComparisonViewPick ? m_reservoirView->activeComparisonView()
|
Rim3dView* mainOrComparisonView = m_isCurrentPickInComparisonView ? m_reservoirView->activeComparisonView()
|
||||||
: m_reservoirView.p();
|
: m_reservoirView.p();
|
||||||
|
|
||||||
// Make pickEventHandlers do their stuff
|
// Make pickEventHandlers do their stuff
|
||||||
@ -1051,6 +1051,14 @@ cvf::Vec3d RiuViewerCommands::lastPickPositionInDomainCoords() const
|
|||||||
return m_currentPickPositionInDomainCoords;
|
return m_currentPickPositionInDomainCoords;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RiuViewerCommands::isCurrentPickInComparisonView() const
|
||||||
|
{
|
||||||
|
return m_isCurrentPickInComparisonView;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1284,12 +1292,12 @@ void RiuViewerCommands::handleTextPicking( int winPosX, int winPosY, cvf::HitIte
|
|||||||
{
|
{
|
||||||
using namespace cvf;
|
using namespace cvf;
|
||||||
|
|
||||||
bool isMouseWithinComparisonView = m_viewer->isMousePosWithinComparisonView( winPosX, winPosY );
|
m_isCurrentPickInComparisonView = m_viewer->isMousePosWithinComparisonView( winPosX, winPosY );
|
||||||
|
|
||||||
int translatedMousePosX = winPosX;
|
int translatedMousePosX = winPosX;
|
||||||
int translatedMousePosY = m_viewer->height() - winPosY;
|
int translatedMousePosY = m_viewer->height() - winPosY;
|
||||||
|
|
||||||
Scene* scene = m_viewer->currentScene( isMouseWithinComparisonView );
|
Scene* scene = m_viewer->currentScene( m_isCurrentPickInComparisonView );
|
||||||
|
|
||||||
if ( !scene ) return;
|
if ( !scene ) return;
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
static void removePickEventHandlerIfActive( Ric3dViewPickEventHandler* pickEventHandler );
|
static void removePickEventHandlerIfActive( Ric3dViewPickEventHandler* pickEventHandler );
|
||||||
|
|
||||||
cvf::Vec3d lastPickPositionInDomainCoords() const;
|
cvf::Vec3d lastPickPositionInDomainCoords() const;
|
||||||
|
bool isCurrentPickInComparisonView() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void findCellAndGridIndex( Rim3dView* mainOrComparisonView,
|
void findCellAndGridIndex( Rim3dView* mainOrComparisonView,
|
||||||
@ -96,6 +97,7 @@ private:
|
|||||||
size_t m_currentCellIndex;
|
size_t m_currentCellIndex;
|
||||||
cvf::StructGridInterface::FaceType m_currentFaceIndex;
|
cvf::StructGridInterface::FaceType m_currentFaceIndex;
|
||||||
cvf::Vec3d m_currentPickPositionInDomainCoords;
|
cvf::Vec3d m_currentPickPositionInDomainCoords;
|
||||||
|
bool m_isCurrentPickInComparisonView;
|
||||||
caf::PdmPointer<Rim3dView> m_reservoirView;
|
caf::PdmPointer<Rim3dView> m_reservoirView;
|
||||||
QPointer<RiuViewer> m_viewer;
|
QPointer<RiuViewer> m_viewer;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user