#4857 Fix measurement picking in comparison view.

This commit is contained in:
Kristian Bendiksen
2019-10-28 14:08:15 +01:00
parent 6e43fee396
commit 2c3b51ad3f
7 changed files with 22 additions and 14 deletions

View File

@@ -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();
}

View File

@@ -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();
}
}

View File

@@ -161,7 +161,7 @@ public:
void updateAnnotationItems();
void updateScaling();
void updateZScaleLabel();
void updateMeasurement();
void createMeasurementDisplayModelAndRedraw();
bool isMasterView() const;
Rim3dView* activeComparisonView() const;