mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4857 Fix measurement picking in comparison view.
This commit is contained in:
parent
6e43fee396
commit
2c3b51ad3f
@ -269,7 +269,7 @@ RimGridView* RiaApplication::activeMainOrComparisonGridView()
|
||||
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
||||
RimGridView* viewOrComparisonView = activeView;
|
||||
|
||||
if ( activeView->viewer()->viewerCommands()->isCurrentPickInComparisonView() )
|
||||
if ( activeView != nullptr && activeView->viewer()->viewerCommands()->isCurrentPickInComparisonView() )
|
||||
{
|
||||
if ( RimGridView* compView = dynamic_cast<RimGridView*>( activeView->activeComparisonView() ) )
|
||||
{
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "RiuViewerCommands.h"
|
||||
|
||||
#include "Rim3dView.h"
|
||||
#include "RimGridView.h"
|
||||
#include "RimIntersection.h"
|
||||
#include "RimMeasurement.h"
|
||||
#include "RimProject.h"
|
||||
@ -84,7 +85,7 @@ void RicMeasurementPickEventHandler::enablePolyLineMode( bool polyLineModeEnable
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicMeasurementPickEventHandler::handle3dPickEvent( const Ric3dPickEvent& eventObject )
|
||||
{
|
||||
auto measurement = RiaApplication::instance()->project()->measurement();
|
||||
RimMeasurement* measurement = RiaApplication::instance()->project()->measurement();
|
||||
|
||||
if ( measurement && measurement->measurementMode() )
|
||||
{
|
||||
@ -98,8 +99,7 @@ bool RicMeasurementPickEventHandler::handle3dPickEvent( const Ric3dPickEvent& ev
|
||||
}
|
||||
}
|
||||
|
||||
Rim3dView* rimView = RiaApplication::instance()->activeReservoirView();
|
||||
|
||||
Rim3dView* rimView = dynamic_cast<Rim3dView*>( RiaApplication::instance()->activeMainOrComparisonGridView() );
|
||||
if ( firstGeometryPickInfo && rimView )
|
||||
{
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = rimView->displayCoordTransform();
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "Rim3dView.h"
|
||||
#include "RimMeasurement.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimGridView.h"
|
||||
|
||||
#include "cafCmdFeatureManager.h"
|
||||
#include "cafPdmUiPropertyViewDialog.h"
|
||||
@ -123,7 +124,7 @@ Rim3dView* RicToggleMeasurementModeFeature::activeView() const
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
CAF_ASSERT( app );
|
||||
auto view = app->activeReservoirView();
|
||||
auto view = dynamic_cast<Rim3dView*>(app->activeMainOrComparisonGridView());
|
||||
return view;
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "Rim3dView.h"
|
||||
#include "RimGridView.h"
|
||||
|
||||
#include "MeasurementCommands/RicMeasurementPickEventHandler.h"
|
||||
|
||||
@ -89,7 +90,7 @@ RimMeasurement::MeasurementMode RimMeasurement::measurementMode() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimMeasurement::addPointInDomainCoords( const Vec3d& domainCoord )
|
||||
{
|
||||
auto activeView = RiaApplication::instance()->activeReservoirView();
|
||||
auto activeView = dynamic_cast<Rim3dView*>( RiaApplication::instance()->activeMainOrComparisonGridView() );
|
||||
|
||||
if ( m_sourceView.p() != activeView )
|
||||
{
|
||||
@ -194,8 +195,6 @@ RimMeasurement::Lengths RimMeasurement::calculateLenghts() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimMeasurement::updateView() const
|
||||
{
|
||||
if ( m_sourceView )
|
||||
{
|
||||
m_sourceView->updateMeasurement();
|
||||
}
|
||||
Rim3dView* rimView = RiaApplication::instance()->activeReservoirView();
|
||||
rimView->createMeasurementDisplayModelAndRedraw();
|
||||
}
|
||||
|
@ -1027,11 +1027,18 @@ void Rim3dView::updateZScaleLabel()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void Rim3dView::updateMeasurement()
|
||||
void Rim3dView::createMeasurementDisplayModelAndRedraw()
|
||||
{
|
||||
if ( m_viewer )
|
||||
appendMeasurementToModel();
|
||||
|
||||
if ( Rim3dView* depView = prepareComparisonView() )
|
||||
{
|
||||
depView->appendMeasurementToModel();
|
||||
restoreComparisonView();
|
||||
}
|
||||
|
||||
if ( nativeOrOverrideViewer() )
|
||||
{
|
||||
appendMeasurementToModel();
|
||||
nativeOrOverrideViewer()->update();
|
||||
}
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ public:
|
||||
void updateAnnotationItems();
|
||||
void updateScaling();
|
||||
void updateZScaleLabel();
|
||||
void updateMeasurement();
|
||||
void createMeasurementDisplayModelAndRedraw();
|
||||
|
||||
bool isMasterView() const;
|
||||
Rim3dView* activeComparisonView() const;
|
||||
|
@ -324,6 +324,7 @@ void RiuSelectionChangedHandler::scheduleUpdateForAllVisibleViews() const
|
||||
for ( size_t i = 0; i < visibleViews.size(); i++ )
|
||||
{
|
||||
visibleViews[i]->createHighlightAndGridBoxDisplayModelWithRedraw();
|
||||
visibleViews[i]->createMeasurementDisplayModelAndRedraw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user