mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Allow linking of contour map views
* Place copy of contour map in correct collection * Allow linking of contour maps * Improve handling of contour views and 3D views * Guard nullptr * Guard assert seen on Linux * Zoom all on contour map when unlinked to reset zoom If a contour map is linked to a 3D view, the view can get distorted. Call ZoomAll to reset to sensible defaults. * Remove default rainbow legend
This commit is contained in:
parent
f77b3673b0
commit
d4086ee371
@ -19,15 +19,17 @@
|
|||||||
|
|
||||||
#include "RicPasteEclipseViewsFeature.h"
|
#include "RicPasteEclipseViewsFeature.h"
|
||||||
|
|
||||||
#include "Riu3DMainWindowTools.h"
|
|
||||||
|
|
||||||
#include "RicPasteFeatureImpl.h"
|
#include "RicPasteFeatureImpl.h"
|
||||||
|
|
||||||
#include "Rim2dIntersectionViewCollection.h"
|
#include "Rim2dIntersectionViewCollection.h"
|
||||||
#include "RimEclipseCase.h"
|
#include "RimEclipseCase.h"
|
||||||
|
#include "RimEclipseContourMapView.h"
|
||||||
|
#include "RimEclipseContourMapViewCollection.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimSimWellInViewCollection.h"
|
#include "RimSimWellInViewCollection.h"
|
||||||
|
|
||||||
|
#include "Riu3DMainWindowTools.h"
|
||||||
|
|
||||||
#include "cafPdmDocument.h"
|
#include "cafPdmDocument.h"
|
||||||
#include "cafPdmObjectGroup.h"
|
#include "cafPdmObjectGroup.h"
|
||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
@ -47,13 +49,12 @@ bool RicPasteEclipseViewsFeature::isCommandEnabled()
|
|||||||
std::vector<caf::PdmPointer<RimEclipseView>> typedObjects;
|
std::vector<caf::PdmPointer<RimEclipseView>> typedObjects;
|
||||||
objectGroup.objectsByType( &typedObjects );
|
objectGroup.objectsByType( &typedObjects );
|
||||||
|
|
||||||
if ( typedObjects.size() == 0 )
|
if ( typedObjects.empty() )
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
caf::PdmObjectHandle* destinationObject =
|
auto* destinationObject = dynamic_cast<caf::PdmObjectHandle*>( caf::SelectionManager::instance()->selectedItem() );
|
||||||
dynamic_cast<caf::PdmObjectHandle*>( caf::SelectionManager::instance()->selectedItem() );
|
|
||||||
|
|
||||||
RimIdenticalGridCaseGroup* gridCaseGroup = RicPasteFeatureImpl::findGridCaseGroup( destinationObject );
|
RimIdenticalGridCaseGroup* gridCaseGroup = RicPasteFeatureImpl::findGridCaseGroup( destinationObject );
|
||||||
if ( gridCaseGroup ) return false;
|
if ( gridCaseGroup ) return false;
|
||||||
@ -69,8 +70,7 @@ bool RicPasteEclipseViewsFeature::isCommandEnabled()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicPasteEclipseViewsFeature::onActionTriggered( bool isChecked )
|
void RicPasteEclipseViewsFeature::onActionTriggered( bool isChecked )
|
||||||
{
|
{
|
||||||
caf::PdmObjectHandle* destinationObject =
|
auto* destinationObject = dynamic_cast<caf::PdmObjectHandle*>( caf::SelectionManager::instance()->selectedItem() );
|
||||||
dynamic_cast<caf::PdmObjectHandle*>( caf::SelectionManager::instance()->selectedItem() );
|
|
||||||
|
|
||||||
RimEclipseCase* eclipseCase = RicPasteFeatureImpl::findEclipseCase( destinationObject );
|
RimEclipseCase* eclipseCase = RicPasteFeatureImpl::findEclipseCase( destinationObject );
|
||||||
assert( eclipseCase );
|
assert( eclipseCase );
|
||||||
@ -78,7 +78,7 @@ void RicPasteEclipseViewsFeature::onActionTriggered( bool isChecked )
|
|||||||
caf::PdmObjectGroup objectGroup;
|
caf::PdmObjectGroup objectGroup;
|
||||||
RicPasteFeatureImpl::findObjectsFromClipboardRefs( &objectGroup );
|
RicPasteFeatureImpl::findObjectsFromClipboardRefs( &objectGroup );
|
||||||
|
|
||||||
if ( objectGroup.objects.size() == 0 ) return;
|
if ( objectGroup.objects.empty() ) return;
|
||||||
|
|
||||||
std::vector<caf::PdmPointer<RimEclipseView>> eclipseViews;
|
std::vector<caf::PdmPointer<RimEclipseView>> eclipseViews;
|
||||||
objectGroup.objectsByType( &eclipseViews );
|
objectGroup.objectsByType( &eclipseViews );
|
||||||
@ -86,15 +86,26 @@ void RicPasteEclipseViewsFeature::onActionTriggered( bool isChecked )
|
|||||||
RimEclipseView* lastViewCopy = nullptr;
|
RimEclipseView* lastViewCopy = nullptr;
|
||||||
|
|
||||||
// Add cases to case group
|
// Add cases to case group
|
||||||
for ( size_t i = 0; i < eclipseViews.size(); i++ )
|
for ( const auto& eclipseView : eclipseViews )
|
||||||
{
|
{
|
||||||
RimEclipseView* rimReservoirView = dynamic_cast<RimEclipseView*>(
|
auto* rimReservoirView = dynamic_cast<RimEclipseView*>(
|
||||||
eclipseViews[i]->xmlCapability()->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
|
eclipseView->xmlCapability()->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
|
||||||
CVF_ASSERT( rimReservoirView );
|
CVF_ASSERT( rimReservoirView );
|
||||||
|
|
||||||
QString nameOfCopy = QString( "Copy of " ) + rimReservoirView->name();
|
QString nameOfCopy = QString( "Copy of " ) + rimReservoirView->name();
|
||||||
rimReservoirView->setName( nameOfCopy );
|
rimReservoirView->setName( nameOfCopy );
|
||||||
eclipseCase->reservoirViews().push_back( rimReservoirView );
|
|
||||||
|
if ( dynamic_cast<RimEclipseContourMapView*>( eclipseView.p() ) )
|
||||||
|
{
|
||||||
|
auto contourMapView = dynamic_cast<RimEclipseContourMapView*>( rimReservoirView );
|
||||||
|
CVF_ASSERT( contourMapView );
|
||||||
|
|
||||||
|
eclipseCase->contourMapCollection()->push_back( contourMapView );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
eclipseCase->reservoirViews().push_back( rimReservoirView );
|
||||||
|
}
|
||||||
|
|
||||||
rimReservoirView->setEclipseCase( eclipseCase );
|
rimReservoirView->setEclipseCase( eclipseCase );
|
||||||
|
|
||||||
|
@ -414,12 +414,5 @@ void RicNewContourMapViewFeature::assignDefaultResultAndLegend( RimEclipseContou
|
|||||||
{
|
{
|
||||||
contourMap->cellResult()->setResultVariable( "SOIL" );
|
contourMap->cellResult()->setResultVariable( "SOIL" );
|
||||||
}
|
}
|
||||||
|
|
||||||
RimRegularLegendConfig* legendConfig = contourMap->cellResult()->legendConfig();
|
|
||||||
if ( legendConfig )
|
|
||||||
{
|
|
||||||
RimColorLegend* legend = legendConfig->mapToColorLegend( RimRegularLegendConfig::ColorRangesType::RAINBOW );
|
|
||||||
legendConfig->setColorLegend( legend );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "RicDeleteAllLinkedViewsFeature.h"
|
#include "RicDeleteAllLinkedViewsFeature.h"
|
||||||
|
|
||||||
|
#include "RimEclipseContourMapView.h"
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
@ -75,10 +76,16 @@ void RicDeleteAllLinkedViewsFeature::onActionTriggered( bool isChecked )
|
|||||||
// viewLinkerCollection->viewLinker is a PdmChildField containing one RimViewLinker child object
|
// viewLinkerCollection->viewLinker is a PdmChildField containing one RimViewLinker child object
|
||||||
proj->viewLinkerCollection->viewLinker.removeChild( viewLinker );
|
proj->viewLinkerCollection->viewLinker.removeChild( viewLinker );
|
||||||
|
|
||||||
viewLinker->applyCellFilterCollectionByUserChoice();
|
auto views = viewLinker->allViews();
|
||||||
|
|
||||||
|
viewLinker->applyCellFilterCollectionByUserChoice();
|
||||||
delete viewLinker;
|
delete viewLinker;
|
||||||
|
|
||||||
|
for ( auto v : views )
|
||||||
|
{
|
||||||
|
if ( dynamic_cast<RimEclipseContourMapView*>( v ) ) v->zoomAll();
|
||||||
|
}
|
||||||
|
|
||||||
proj->uiCapability()->updateConnectedEditors();
|
proj->uiCapability()->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
#include "RicLinkVisibleViewsFeature.h"
|
#include "RicLinkVisibleViewsFeature.h"
|
||||||
|
|
||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
#include "RimEclipseContourMapView.h"
|
|
||||||
#include "RimGeoMechContourMapView.h"
|
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
@ -57,8 +55,6 @@ public:
|
|||||||
// Link only the active view to an existing view link collection.
|
// Link only the active view to an existing view link collection.
|
||||||
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
RimGridView* activeView = RiaApplication::instance()->activeGridView();
|
||||||
if ( !activeView ) return false;
|
if ( !activeView ) return false;
|
||||||
if ( dynamic_cast<RimEclipseContourMapView*>( activeView ) ) return false;
|
|
||||||
if ( dynamic_cast<RimGeoMechContourMapView*>( activeView ) ) return false;
|
|
||||||
|
|
||||||
if ( activeView->assosiatedViewLinker() ) return false;
|
if ( activeView->assosiatedViewLinker() ) return false;
|
||||||
|
|
||||||
@ -69,30 +65,17 @@ public:
|
|||||||
std::vector<RimGridView*> selectedGridViews;
|
std::vector<RimGridView*> selectedGridViews;
|
||||||
|
|
||||||
caf::SelectionManager::instance()->objectsByTypeStrict( &selectedGridViews );
|
caf::SelectionManager::instance()->objectsByTypeStrict( &selectedGridViews );
|
||||||
bool hasAnyUnlinkableViews = false;
|
|
||||||
for ( auto gridView : selectedGridViews )
|
for ( auto gridView : selectedGridViews )
|
||||||
{
|
{
|
||||||
if ( !gridView ) continue;
|
if ( !gridView ) continue;
|
||||||
|
|
||||||
if ( dynamic_cast<RimEclipseContourMapView*>( gridView ) )
|
|
||||||
{
|
|
||||||
hasAnyUnlinkableViews = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( dynamic_cast<RimGeoMechContourMapView*>( gridView ) )
|
|
||||||
{
|
|
||||||
hasAnyUnlinkableViews = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !gridView->assosiatedViewLinker() )
|
if ( !gridView->assosiatedViewLinker() )
|
||||||
{
|
{
|
||||||
m_viewsToLink.push_back( gridView );
|
m_viewsToLink.push_back( gridView );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !m_viewsToLink.empty() && !hasAnyUnlinkableViews )
|
if ( !m_viewsToLink.empty() )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,6 @@
|
|||||||
|
|
||||||
#include "RicLinkVisibleViewsFeatureUi.h"
|
#include "RicLinkVisibleViewsFeatureUi.h"
|
||||||
|
|
||||||
#include "RimEclipseContourMapView.h"
|
|
||||||
#include "RimGeoMechContourMapView.h"
|
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimViewController.h"
|
#include "RimViewController.h"
|
||||||
@ -59,7 +57,7 @@ bool RicLinkVisibleViewsFeature::isCommandEnabled()
|
|||||||
|
|
||||||
if ( proj->viewLinkerCollection() && proj->viewLinkerCollection()->viewLinker() )
|
if ( proj->viewLinkerCollection() && proj->viewLinkerCollection()->viewLinker() )
|
||||||
{
|
{
|
||||||
proj->viewLinkerCollection()->viewLinker()->allViews( linkedviews );
|
linkedviews = proj->viewLinkerCollection()->viewLinker()->allViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( visibleGridViews.size() >= 2 && ( linkedviews.size() < visibleGridViews.size() ) )
|
if ( visibleGridViews.size() >= 2 && ( linkedviews.size() < visibleGridViews.size() ) )
|
||||||
@ -94,18 +92,6 @@ void RicLinkVisibleViewsFeature::setupActionLook( QAction* actionToSetup )
|
|||||||
actionToSetup->setIcon( QIcon( ":/LinkView.svg" ) );
|
actionToSetup->setIcon( QIcon( ":/LinkView.svg" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RicLinkVisibleViewsFeature::allLinkedViews( std::vector<RimGridView*>& views )
|
|
||||||
{
|
|
||||||
RimProject* proj = RimProject::current();
|
|
||||||
if ( proj->viewLinkerCollection()->viewLinker() )
|
|
||||||
{
|
|
||||||
proj->viewLinkerCollection()->viewLinker()->allViews( views );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -113,17 +99,12 @@ void RicLinkVisibleViewsFeature::findLinkableVisibleViews( std::vector<RimGridVi
|
|||||||
{
|
{
|
||||||
RimProject* proj = RimProject::current();
|
RimProject* proj = RimProject::current();
|
||||||
|
|
||||||
std::vector<RimGridView*> alreadyLinkedViews;
|
|
||||||
allLinkedViews( alreadyLinkedViews );
|
|
||||||
|
|
||||||
std::vector<RimGridView*> visibleGridViews;
|
std::vector<RimGridView*> visibleGridViews;
|
||||||
proj->allVisibleGridViews( visibleGridViews );
|
proj->allVisibleGridViews( visibleGridViews );
|
||||||
|
|
||||||
for ( auto gridView : visibleGridViews )
|
for ( auto gridView : visibleGridViews )
|
||||||
{
|
{
|
||||||
if ( !gridView ) continue;
|
if ( !gridView ) continue;
|
||||||
if ( dynamic_cast<RimEclipseContourMapView*>( gridView ) ) continue;
|
|
||||||
if ( dynamic_cast<RimGeoMechContourMapView*>( gridView ) ) continue;
|
|
||||||
if ( gridView->assosiatedViewLinker() ) continue;
|
if ( gridView->assosiatedViewLinker() ) continue;
|
||||||
|
|
||||||
views.push_back( gridView );
|
views.push_back( gridView );
|
||||||
|
@ -43,5 +43,4 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void findLinkableVisibleViews( std::vector<RimGridView*>& views );
|
void findLinkableVisibleViews( std::vector<RimGridView*>& views );
|
||||||
void allLinkedViews( std::vector<RimGridView*>& views );
|
|
||||||
};
|
};
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include "RiaOptionItemFactory.h"
|
#include "RiaOptionItemFactory.h"
|
||||||
|
|
||||||
#include "RimCase.h"
|
#include "RimCase.h"
|
||||||
#include "RimEclipseContourMapView.h"
|
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
|
|
||||||
@ -79,17 +78,7 @@ RimGridView* RicLinkVisibleViewsFeatureUi::masterView()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<RimGridView*> RicLinkVisibleViewsFeatureUi::masterViewCandidates() const
|
std::vector<RimGridView*> RicLinkVisibleViewsFeatureUi::masterViewCandidates() const
|
||||||
{
|
{
|
||||||
std::vector<RimGridView*> masterCandidates;
|
return m_allViews;
|
||||||
// Set Active view as master view if the active view isn't a contour map.
|
|
||||||
for ( size_t i = 0; i < m_allViews.size(); i++ )
|
|
||||||
{
|
|
||||||
RimEclipseContourMapView* contourMap = dynamic_cast<RimEclipseContourMapView*>( m_allViews[i] );
|
|
||||||
if ( contourMap == nullptr )
|
|
||||||
{
|
|
||||||
masterCandidates.push_back( m_allViews[i] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return masterCandidates;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -47,23 +47,21 @@ void RicShowAllLinkedViewsFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
std::vector<RimViewController*> managedViews;
|
std::vector<RimViewController*> managedViews;
|
||||||
caf::SelectionManager::instance()->objectsByType( &managedViews );
|
caf::SelectionManager::instance()->objectsByType( &managedViews );
|
||||||
for ( size_t i = 0; i < managedViews.size(); i++ )
|
for ( auto& managedView : managedViews )
|
||||||
{
|
{
|
||||||
RimViewLinker* rimLinked = nullptr;
|
RimViewLinker* rimLinked = nullptr;
|
||||||
managedViews[i]->firstAncestorOrThisOfType( rimLinked );
|
managedView->firstAncestorOrThisOfType( rimLinked );
|
||||||
CVF_ASSERT( rimLinked );
|
CVF_ASSERT( rimLinked );
|
||||||
|
|
||||||
linkedViews.push_back( rimLinked );
|
linkedViews.push_back( rimLinked );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( size_t i = 0; i < linkedViews.size(); i++ )
|
for ( auto& linkedView : linkedViews )
|
||||||
{
|
{
|
||||||
std::vector<RimGridView*> views;
|
auto views = linkedView->allViews();
|
||||||
linkedViews[i]->allViews( views );
|
for ( auto& view : views )
|
||||||
|
|
||||||
for ( size_t j = 0; j < views.size(); j++ )
|
|
||||||
{
|
{
|
||||||
views[j]->forceShowWindowOn();
|
view->forceShowWindowOn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,15 +22,16 @@
|
|||||||
#include "RiaApplication.h"
|
#include "RiaApplication.h"
|
||||||
|
|
||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
|
#include "RimEclipseContourMapView.h"
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimViewController.h"
|
#include "RimViewController.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
|
#include "RimViewLinkerCollection.h"
|
||||||
|
|
||||||
#include "cafCmdFeatureManager.h"
|
#include "cafCmdFeatureManager.h"
|
||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
|
|
||||||
#include "RimViewLinkerCollection.h"
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
|
||||||
CAF_CMD_SOURCE_INIT( RicUnLinkViewFeature, "RicUnLinkViewFeature" );
|
CAF_CMD_SOURCE_INIT( RicUnLinkViewFeature, "RicUnLinkViewFeature" );
|
||||||
@ -68,8 +69,9 @@ void RicUnLinkViewFeature::onActionTriggered( bool isChecked )
|
|||||||
{
|
{
|
||||||
viewController->applyCellFilterCollectionByUserChoice();
|
viewController->applyCellFilterCollectionByUserChoice();
|
||||||
delete viewController;
|
delete viewController;
|
||||||
viewLinker->removeViewController( nullptr ); // Remove the slots in the vector that was set to nullptr by the
|
|
||||||
// destructor
|
// Remove the slots in the vector that was set to nullptr by the destructor
|
||||||
|
viewLinker->removeViewController( nullptr );
|
||||||
}
|
}
|
||||||
else if ( viewLinker )
|
else if ( viewLinker )
|
||||||
{
|
{
|
||||||
@ -94,6 +96,8 @@ void RicUnLinkViewFeature::onActionTriggered( bool isChecked )
|
|||||||
activeView->updateAutoName();
|
activeView->updateAutoName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( dynamic_cast<RimEclipseContourMapView*>( activeView ) ) activeView->zoomAll();
|
||||||
|
|
||||||
RimProject::current()->viewLinkerCollection.uiCapability()->updateConnectedEditors();
|
RimProject::current()->viewLinkerCollection.uiCapability()->updateConnectedEditors();
|
||||||
RimProject::current()->uiCapability()->updateConnectedEditors();
|
RimProject::current()->uiCapability()->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
|
@ -479,6 +479,9 @@ std::vector<cvf::ref<cvf::Drawable>>
|
|||||||
{
|
{
|
||||||
for ( const cvf::BoundingBox& existingBBox : boxVector )
|
for ( const cvf::BoundingBox& existingBBox : boxVector )
|
||||||
{
|
{
|
||||||
|
// Assert on invalid bounding box seen on Linux
|
||||||
|
if ( !displayBBox.isValid() || !existingBBox.isValid() ) continue;
|
||||||
|
|
||||||
double dist = ( displayBBox.center() - existingBBox.center() ).length();
|
double dist = ( displayBBox.center() - existingBBox.center() ).length();
|
||||||
if ( dist < segment.length() || existingBBox.intersects( displayBBox ) )
|
if ( dist < segment.length() || existingBBox.intersects( displayBBox ) )
|
||||||
{
|
{
|
||||||
|
@ -331,6 +331,8 @@ QWidget* Rim3dView::createViewWidget( QWidget* mainWindowParent )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void Rim3dView::updateViewWidgetAfterCreation()
|
void Rim3dView::updateViewWidgetAfterCreation()
|
||||||
{
|
{
|
||||||
|
if ( !m_viewer ) return;
|
||||||
|
|
||||||
m_viewer->setDefaultPerspectiveNearPlaneDistance( 10 );
|
m_viewer->setDefaultPerspectiveNearPlaneDistance( 10 );
|
||||||
|
|
||||||
this->onResetLegendsInViewer();
|
this->onResetLegendsInViewer();
|
||||||
|
@ -230,8 +230,6 @@ protected:
|
|||||||
virtual cvf::Transform* scaleTransform() = 0;
|
virtual cvf::Transform* scaleTransform() = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overridden PdmObject methods:
|
|
||||||
|
|
||||||
caf::PdmFieldHandle* userDescriptionField() override;
|
caf::PdmFieldHandle* userDescriptionField() override;
|
||||||
caf::PdmFieldHandle* backgroundColorField();
|
caf::PdmFieldHandle* backgroundColorField();
|
||||||
|
|
||||||
@ -242,10 +240,11 @@ protected:
|
|||||||
|
|
||||||
void setupBeforeSave() override;
|
void setupBeforeSave() override;
|
||||||
|
|
||||||
// Overridden ViewWindow methods:
|
|
||||||
void updateViewWidgetAfterCreation() override;
|
void updateViewWidgetAfterCreation() override;
|
||||||
QWidget* createViewWidget( QWidget* mainWindowParent ) override;
|
QWidget* createViewWidget( QWidget* mainWindowParent ) override;
|
||||||
|
|
||||||
|
void setCameraPosition( const cvf::Mat4d& cameraPosition ) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Timestep Field. Children clamps this differently
|
// Timestep Field. Children clamps this differently
|
||||||
caf::PdmField<int> m_currentTimeStep;
|
caf::PdmField<int> m_currentTimeStep;
|
||||||
@ -271,8 +270,6 @@ private:
|
|||||||
void performAutoNameUpdate() final;
|
void performAutoNameUpdate() final;
|
||||||
|
|
||||||
// Implementation of RiuViewerToViewInterface
|
// Implementation of RiuViewerToViewInterface
|
||||||
|
|
||||||
void setCameraPosition( const cvf::Mat4d& cameraPosition ) override;
|
|
||||||
void setCameraPointOfInterest( const cvf::Vec3d& cameraPointOfInterest ) override;
|
void setCameraPointOfInterest( const cvf::Vec3d& cameraPointOfInterest ) override;
|
||||||
|
|
||||||
void endAnimation() override;
|
void endAnimation() override;
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "RimGridCollection.h"
|
#include "RimGridCollection.h"
|
||||||
#include "RimRegularLegendConfig.h"
|
#include "RimRegularLegendConfig.h"
|
||||||
#include "RimSimWellInViewCollection.h"
|
#include "RimSimWellInViewCollection.h"
|
||||||
|
#include "RimViewLinker.h"
|
||||||
#include "RimViewNameConfig.h"
|
#include "RimViewNameConfig.h"
|
||||||
|
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
@ -72,7 +73,7 @@ RimEclipseContourMapView::RimEclipseContourMapView()
|
|||||||
|
|
||||||
m_contourMapProjectionPartMgr = new RivContourMapProjectionPartMgr( contourMapProjection(), this );
|
m_contourMapProjectionPartMgr = new RivContourMapProjectionPartMgr( contourMapProjection(), this );
|
||||||
|
|
||||||
( (RiuViewerToViewInterface*)this )->setCameraPosition( sm_defaultViewMatrix );
|
setCameraPosition( sm_defaultViewMatrix );
|
||||||
|
|
||||||
cellResult()->setTernaryEnabled( false );
|
cellResult()->setTernaryEnabled( false );
|
||||||
cellResult()->legendConfigChanged.connect( this, &RimEclipseContourMapView::onLegendConfigChanged );
|
cellResult()->legendConfigChanged.connect( this, &RimEclipseContourMapView::onLegendConfigChanged );
|
||||||
@ -410,7 +411,22 @@ void RimEclipseContourMapView::onUpdateLegends()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nativeOrOverrideViewer()->showScaleLegend( m_showScaleLegend() );
|
// Hide the scale widget if any 3D views are present, as the display of the scale widget is only working for
|
||||||
|
// default rotation. The update is triggered in RimViewLinker::updateScaleWidgetVisibility()
|
||||||
|
|
||||||
|
bool any3DViewsLinked = false;
|
||||||
|
|
||||||
|
if ( auto viewLinker = assosiatedViewLinker() )
|
||||||
|
{
|
||||||
|
auto views = viewLinker->allViews();
|
||||||
|
for ( auto v : views )
|
||||||
|
{
|
||||||
|
if ( dynamic_cast<RimEclipseContourMapView*>( v ) ) continue;
|
||||||
|
any3DViewsLinked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nativeOrOverrideViewer()->showScaleLegend( any3DViewsLinked ? false : m_showScaleLegend() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,3 +585,18 @@ RimSurfaceInViewCollection* RimEclipseContourMapView::surfaceInViewCollection()
|
|||||||
// Surfaces should not be shown in contour map.
|
// Surfaces should not be shown in contour map.
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimEclipseContourMapView::zoomAll()
|
||||||
|
{
|
||||||
|
setCameraPosition( sm_defaultViewMatrix );
|
||||||
|
isPerspectiveView = false;
|
||||||
|
|
||||||
|
// If a 3D view has been used as the primary linked view, a contour map can be rotated in 3D. Use the following
|
||||||
|
// function to make sure view is reset to original state, with correct rotation and grid box configuration.
|
||||||
|
updateViewWidgetAfterCreation();
|
||||||
|
|
||||||
|
RimEclipseView::zoomAll();
|
||||||
|
}
|
||||||
|
@ -41,6 +41,7 @@ public:
|
|||||||
void updatePickPointAndRedraw();
|
void updatePickPointAndRedraw();
|
||||||
|
|
||||||
RimSurfaceInViewCollection* surfaceInViewCollection() const override;
|
RimSurfaceInViewCollection* surfaceInViewCollection() const override;
|
||||||
|
void zoomAll() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initAfterRead() override;
|
void initAfterRead() override;
|
||||||
|
@ -755,7 +755,7 @@ void RimProject::allNotLinkedViews( std::vector<RimGridView*>& views )
|
|||||||
std::vector<RimGridView*> alreadyLinkedViews;
|
std::vector<RimGridView*> alreadyLinkedViews;
|
||||||
if ( viewLinkerCollection->viewLinker() )
|
if ( viewLinkerCollection->viewLinker() )
|
||||||
{
|
{
|
||||||
viewLinkerCollection->viewLinker()->allViews( alreadyLinkedViews );
|
alreadyLinkedViews = viewLinkerCollection->viewLinker()->allViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( size_t caseIdx = 0; caseIdx < cases.size(); caseIdx++ )
|
for ( size_t caseIdx = 0; caseIdx < cases.size(); caseIdx++ )
|
||||||
|
@ -60,34 +60,31 @@ CAF_PDM_SOURCE_INIT( RimViewController, "ViewController" );
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimViewController::RimViewController()
|
RimViewController::RimViewController()
|
||||||
{
|
{
|
||||||
// clang-format off
|
CAF_PDM_InitObject( "View Link" );
|
||||||
|
|
||||||
CAF_PDM_InitObject("View Link");
|
CAF_PDM_InitField( &m_isActive, "Active", true, "Active" );
|
||||||
|
m_isActive.uiCapability()->setUiHidden( true );
|
||||||
CAF_PDM_InitField(&m_isActive, "Active", true, "Active");
|
|
||||||
m_isActive.uiCapability()->setUiHidden(true);
|
|
||||||
|
|
||||||
QString defaultName = "View Config: Empty view";
|
QString defaultName = "View Config: Empty view";
|
||||||
CAF_PDM_InitField(&m_name, "Name", defaultName, "Managed View Name");
|
CAF_PDM_InitField( &m_name, "Name", defaultName, "Managed View Name" );
|
||||||
m_name.uiCapability()->setUiHidden(true);
|
m_name.uiCapability()->setUiHidden( true );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_managedView, "ManagedView", "Linked View");
|
CAF_PDM_InitFieldNoDefault( &m_managedView, "ManagedView", "Linked View" );
|
||||||
m_managedView.uiCapability()->setUiTreeChildrenHidden(true);
|
m_managedView.uiCapability()->setUiTreeChildrenHidden( true );
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_syncCamera, "SyncCamera", true, "Camera");
|
CAF_PDM_InitField( &m_syncCamera, "SyncCamera", true, "Camera" );
|
||||||
CAF_PDM_InitField(&m_showCursor, "ShowCursor", true, " Show Cursor");
|
CAF_PDM_InitField( &m_showCursor, "ShowCursor", true, " Show Cursor" );
|
||||||
CAF_PDM_InitField(&m_syncTimeStep, "SyncTimeStep", true, "Time Step");
|
CAF_PDM_InitField( &m_syncTimeStep, "SyncTimeStep", true, "Time Step" );
|
||||||
CAF_PDM_InitField(&m_syncCellResult, "SyncCellResult", false, "Cell Result");
|
CAF_PDM_InitField( &m_syncCellResult, "SyncCellResult", false, "Cell Result" );
|
||||||
CAF_PDM_InitField(&m_syncLegendDefinitions, "SyncLegendDefinitions", true, " Color Legend");
|
CAF_PDM_InitField( &m_syncLegendDefinitions, "SyncLegendDefinitions", true, " Color Legend" );
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_syncVisibleCells, "SyncVisibleCells", false, "Visible Cells");
|
CAF_PDM_InitField( &m_syncVisibleCells, "SyncVisibleCells", false, "Visible Cells" );
|
||||||
/// We do not support this. Consider to remove sometime
|
/// We do not support this. Consider to remove sometime
|
||||||
m_syncVisibleCells.uiCapability()->setUiHidden(true);
|
m_syncVisibleCells.uiCapability()->setUiHidden( true );
|
||||||
m_syncVisibleCells.xmlCapability()->disableIO();
|
m_syncVisibleCells.xmlCapability()->disableIO();
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_syncCellFilters, "SyncRangeFilters", false, "Cell Filters");
|
CAF_PDM_InitField( &m_syncCellFilters, "SyncRangeFilters", false, "Cell Filters" );
|
||||||
CAF_PDM_InitField(&m_syncPropertyFilters, "SyncPropertyFilters", false,"Property Filters");
|
CAF_PDM_InitField( &m_syncPropertyFilters, "SyncPropertyFilters", false, "Property Filters" );
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
setDeletable( true );
|
setDeletable( true );
|
||||||
}
|
}
|
||||||
@ -422,16 +419,6 @@ void RimViewController::updateOptionSensitivity()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isCameraControlPossible() )
|
|
||||||
{
|
|
||||||
this->m_syncCamera.uiCapability()->setUiReadOnly( false );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this->m_syncCamera.uiCapability()->setUiReadOnly( true );
|
|
||||||
this->m_syncCamera = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( isPropertyFilterControlPossible() )
|
if ( isPropertyFilterControlPossible() )
|
||||||
{
|
{
|
||||||
this->m_syncPropertyFilters.uiCapability()->setUiReadOnly( false );
|
this->m_syncPropertyFilters.uiCapability()->setUiReadOnly( false );
|
||||||
@ -476,7 +463,6 @@ void RimViewController::setManagedView( RimGridView* view )
|
|||||||
m_managedView = view;
|
m_managedView = view;
|
||||||
|
|
||||||
updateOptionSensitivity();
|
updateOptionSensitivity();
|
||||||
updateDefaultOptions();
|
|
||||||
updateOverrides();
|
updateOverrides();
|
||||||
updateResultColorsControl();
|
updateResultColorsControl();
|
||||||
updateCameraLink();
|
updateCameraLink();
|
||||||
@ -574,16 +560,6 @@ void RimViewController::updateLegendDefinitions()
|
|||||||
viewLinker->updateCellResult();
|
viewLinker->updateCellResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimViewController::updateDefaultOptions()
|
|
||||||
{
|
|
||||||
m_syncCellResult = isCellResultControlAdvisable();
|
|
||||||
m_syncCellFilters = isCellFilterControlAdvisable();
|
|
||||||
m_syncPropertyFilters = isPropertyFilterControlAdvisable();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -679,16 +655,6 @@ RimGridView* RimViewController::masterView() const
|
|||||||
return ownerViewLinker()->masterView();
|
return ownerViewLinker()->masterView();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
bool RimViewController::isCameraControlPossible() const
|
|
||||||
{
|
|
||||||
RimEclipseContourMapView* contourMapMasterView = dynamic_cast<RimEclipseContourMapView*>( masterView() );
|
|
||||||
RimEclipseContourMapView* contourMapManagedView = dynamic_cast<RimEclipseContourMapView*>( managedEclipseView() );
|
|
||||||
return !( contourMapMasterView || contourMapManagedView );
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -892,7 +858,7 @@ bool RimViewController::isCellResultControlAdvisable() const
|
|||||||
{
|
{
|
||||||
bool contourMapMasterView = dynamic_cast<RimEclipseContourMapView*>( masterView() ) != nullptr;
|
bool contourMapMasterView = dynamic_cast<RimEclipseContourMapView*>( masterView() ) != nullptr;
|
||||||
bool contourMapManagedView = dynamic_cast<RimEclipseContourMapView*>( managedEclipseView() ) != nullptr;
|
bool contourMapManagedView = dynamic_cast<RimEclipseContourMapView*>( managedEclipseView() ) != nullptr;
|
||||||
return !isMasterAndDepViewDifferentType() && contourMapMasterView != contourMapManagedView;
|
return !isMasterAndDepViewDifferentType() && ( contourMapMasterView != contourMapManagedView );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -912,7 +878,7 @@ bool RimViewController::isPropertyFilterControlAdvisable() const
|
|||||||
{
|
{
|
||||||
bool contourMapMasterView = dynamic_cast<RimEclipseContourMapView*>( masterView() ) != nullptr;
|
bool contourMapMasterView = dynamic_cast<RimEclipseContourMapView*>( masterView() ) != nullptr;
|
||||||
bool contourMapManagedView = dynamic_cast<RimEclipseContourMapView*>( managedEclipseView() ) != nullptr;
|
bool contourMapManagedView = dynamic_cast<RimEclipseContourMapView*>( managedEclipseView() ) != nullptr;
|
||||||
return isPropertyFilterControlPossible() && contourMapMasterView != contourMapManagedView;
|
return isPropertyFilterControlPossible() && ( contourMapMasterView != contourMapManagedView );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1116,7 +1082,19 @@ void RimViewController::applyCellFilterCollectionByUserChoice()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool restoreOriginal = askUserToRestoreOriginalCellFilterCollection( m_managedView->name() );
|
RimViewLinker* viewLinker = ownerViewLinker();
|
||||||
|
RimGridView* masterView = viewLinker->masterView();
|
||||||
|
|
||||||
|
bool restoreOriginal = true;
|
||||||
|
|
||||||
|
bool anyActiveFilter = !masterView->cellFilterCollection()->filters().empty() ||
|
||||||
|
masterView->propertyFilterCollection()->hasActiveFilters();
|
||||||
|
|
||||||
|
if ( anyActiveFilter )
|
||||||
|
{
|
||||||
|
restoreOriginal = askUserToRestoreOriginalCellFilterCollection( m_managedView->name() );
|
||||||
|
}
|
||||||
|
|
||||||
if ( restoreOriginal )
|
if ( restoreOriginal )
|
||||||
{
|
{
|
||||||
m_managedView->setOverrideCellFilterCollection( nullptr );
|
m_managedView->setOverrideCellFilterCollection( nullptr );
|
||||||
|
@ -95,9 +95,6 @@ private:
|
|||||||
void updateResultColorsControl();
|
void updateResultColorsControl();
|
||||||
void updateLegendDefinitions();
|
void updateLegendDefinitions();
|
||||||
|
|
||||||
void updateDefaultOptions();
|
|
||||||
|
|
||||||
bool isCameraControlPossible() const;
|
|
||||||
bool isMasterAndDepViewDifferentType() const;
|
bool isMasterAndDepViewDifferentType() const;
|
||||||
bool isPropertyFilterControlPossible() const;
|
bool isPropertyFilterControlPossible() const;
|
||||||
bool isCellFilterMappingApplicable() const;
|
bool isCellFilterMappingApplicable() const;
|
||||||
|
@ -263,6 +263,25 @@ void RimViewLinker::removeOverrides()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimViewLinker::updateScaleWidgetVisibility()
|
||||||
|
{
|
||||||
|
// Create new display model that will call RimEclipseContourMapView::onUpdateLegends() where the visibility of scale
|
||||||
|
// widgets is controlled
|
||||||
|
|
||||||
|
if ( masterView() ) masterView()->scheduleCreateDisplayModelAndRedraw();
|
||||||
|
|
||||||
|
for ( RimViewController* viewLink : m_viewControllers )
|
||||||
|
{
|
||||||
|
if ( viewLink->managedView() )
|
||||||
|
{
|
||||||
|
viewLink->managedView()->scheduleCreateDisplayModelAndRedraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -349,8 +368,10 @@ RimGridView* RimViewLinker::masterView() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimViewLinker::allViews( std::vector<RimGridView*>& views ) const
|
std::vector<RimGridView*> RimViewLinker::allViews() const
|
||||||
{
|
{
|
||||||
|
std::vector<RimGridView*> views;
|
||||||
|
|
||||||
views.push_back( m_masterView() );
|
views.push_back( m_masterView() );
|
||||||
|
|
||||||
for ( const auto& viewController : m_viewControllers )
|
for ( const auto& viewController : m_viewControllers )
|
||||||
@ -360,6 +381,8 @@ void RimViewLinker::allViews( std::vector<RimGridView*>& views ) const
|
|||||||
views.push_back( viewController->managedView() );
|
views.push_back( viewController->managedView() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return views;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -535,6 +558,8 @@ void RimViewLinker::onChildDeleted( caf::PdmChildArrayFieldHandle* childArr
|
|||||||
RimViewLinkerCollection* viewLinkerCollection = nullptr;
|
RimViewLinkerCollection* viewLinkerCollection = nullptr;
|
||||||
this->firstAncestorOrThisOfType( viewLinkerCollection );
|
this->firstAncestorOrThisOfType( viewLinkerCollection );
|
||||||
if ( viewLinkerCollection ) viewLinkerCollection->updateConnectedEditors();
|
if ( viewLinkerCollection ) viewLinkerCollection->updateConnectedEditors();
|
||||||
|
|
||||||
|
updateScaleWidgetVisibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -644,6 +669,8 @@ void RimViewLinker::addDependentView( RimGridView* view )
|
|||||||
|
|
||||||
viewContr->setManagedView( view );
|
viewContr->setManagedView( view );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateScaleWidgetVisibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -83,7 +83,7 @@ public:
|
|||||||
void scheduleGeometryRegenForDepViews( RivCellSetEnum geometryType );
|
void scheduleGeometryRegenForDepViews( RivCellSetEnum geometryType );
|
||||||
void scheduleCreateDisplayModelAndRedrawForDependentViews();
|
void scheduleCreateDisplayModelAndRedrawForDependentViews();
|
||||||
|
|
||||||
void allViews( std::vector<RimGridView*>& views ) const;
|
std::vector<RimGridView*> allViews() const;
|
||||||
|
|
||||||
void updateUiNameAndIcon();
|
void updateUiNameAndIcon();
|
||||||
|
|
||||||
@ -113,6 +113,7 @@ private:
|
|||||||
void allViewsForCameraSync( const RimGridView* source, std::vector<RimGridView*>& views ) const;
|
void allViewsForCameraSync( const RimGridView* source, std::vector<RimGridView*>& views ) const;
|
||||||
|
|
||||||
void removeOverrides();
|
void removeOverrides();
|
||||||
|
void updateScaleWidgetVisibility();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmChildArrayField<RimViewController*> m_viewControllers;
|
caf::PdmChildArrayField<RimViewController*> m_viewControllers;
|
||||||
|
@ -46,7 +46,6 @@
|
|||||||
#include "RimContextCommandBuilder.h"
|
#include "RimContextCommandBuilder.h"
|
||||||
#include "RimEclipseCase.h"
|
#include "RimEclipseCase.h"
|
||||||
#include "RimEclipseCellColors.h"
|
#include "RimEclipseCellColors.h"
|
||||||
#include "RimEclipseContourMapView.h"
|
|
||||||
#include "RimEclipseFaultColors.h"
|
#include "RimEclipseFaultColors.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimEllipseFractureTemplate.h"
|
#include "RimEllipseFractureTemplate.h"
|
||||||
@ -56,7 +55,6 @@
|
|||||||
#include "RimFracture.h"
|
#include "RimFracture.h"
|
||||||
#include "RimGeoMechCase.h"
|
#include "RimGeoMechCase.h"
|
||||||
#include "RimGeoMechCellColors.h"
|
#include "RimGeoMechCellColors.h"
|
||||||
#include "RimGeoMechContourMapView.h"
|
|
||||||
#include "RimGeoMechView.h"
|
#include "RimGeoMechView.h"
|
||||||
#include "RimIntersectionResultDefinition.h"
|
#include "RimIntersectionResultDefinition.h"
|
||||||
#include "RimLegendConfig.h"
|
#include "RimLegendConfig.h"
|
||||||
@ -108,7 +106,6 @@
|
|||||||
#include "cvfPart.h"
|
#include "cvfPart.h"
|
||||||
#include "cvfRay.h"
|
#include "cvfRay.h"
|
||||||
#include "cvfScene.h"
|
#include "cvfScene.h"
|
||||||
#include "cvfTransform.h"
|
|
||||||
|
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
@ -133,6 +130,7 @@ RiuViewerCommands::RiuViewerCommands( RiuViewer* ownerViewer )
|
|||||||
, m_currentCellIndex( -1 )
|
, m_currentCellIndex( -1 )
|
||||||
, m_currentFaceIndex( cvf::StructGridInterface::NO_FACE )
|
, m_currentFaceIndex( cvf::StructGridInterface::NO_FACE )
|
||||||
, m_currentPickPositionInDomainCoords( cvf::Vec3d::UNDEFINED )
|
, m_currentPickPositionInDomainCoords( cvf::Vec3d::UNDEFINED )
|
||||||
|
, m_isCurrentPickInComparisonView( false )
|
||||||
, m_viewer( ownerViewer )
|
, m_viewer( ownerViewer )
|
||||||
{
|
{
|
||||||
if ( sm_defaultPickEventHandlers.empty() )
|
if ( sm_defaultPickEventHandlers.empty() )
|
||||||
@ -172,8 +170,6 @@ void RiuViewerCommands::addCompareToViewMenu( caf::CmdFeatureMenuBuilder* menuBu
|
|||||||
for ( auto view : views )
|
for ( auto view : views )
|
||||||
{
|
{
|
||||||
if ( !dynamic_cast<RimGridView*>( view ) ) continue;
|
if ( !dynamic_cast<RimGridView*>( view ) ) continue;
|
||||||
if ( dynamic_cast<RimEclipseContourMapView*>( view ) ) continue;
|
|
||||||
if ( dynamic_cast<RimGeoMechContourMapView*>( view ) ) continue;
|
|
||||||
|
|
||||||
if ( view != mainGridView )
|
if ( view != mainGridView )
|
||||||
{
|
{
|
||||||
@ -181,7 +177,7 @@ void RiuViewerCommands::addCompareToViewMenu( caf::CmdFeatureMenuBuilder* menuBu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( validComparisonViews.size() )
|
if ( !validComparisonViews.empty() )
|
||||||
{
|
{
|
||||||
menuBuilder->subMenuStart( "Compare To ...", QIcon( ":/ComparisonView16x16.png" ) );
|
menuBuilder->subMenuStart( "Compare To ...", QIcon( ":/ComparisonView16x16.png" ) );
|
||||||
for ( auto view : validComparisonViews )
|
for ( auto view : validComparisonViews )
|
||||||
@ -223,7 +219,7 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
|
|||||||
uint firstPartTriangleIndex = cvf::UNDEFINED_UINT;
|
uint firstPartTriangleIndex = cvf::UNDEFINED_UINT;
|
||||||
m_currentPickPositionInDomainCoords = cvf::Vec3d::UNDEFINED;
|
m_currentPickPositionInDomainCoords = cvf::Vec3d::UNDEFINED;
|
||||||
|
|
||||||
if ( pickItemInfos.size() )
|
if ( !pickItemInfos.empty() )
|
||||||
{
|
{
|
||||||
cvf::Vec3d globalIntersectionPoint = pickItemInfos[0].globalPickedPoint();
|
cvf::Vec3d globalIntersectionPoint = pickItemInfos[0].globalPickedPoint();
|
||||||
|
|
||||||
@ -711,7 +707,7 @@ void RiuViewerCommands::handlePickAction( int winPosX, int winPosY, Qt::Keyboard
|
|||||||
|
|
||||||
// Make pickEventHandlers do their stuff
|
// Make pickEventHandlers do their stuff
|
||||||
|
|
||||||
if ( pickItemInfos.size() )
|
if ( !pickItemInfos.empty() )
|
||||||
{
|
{
|
||||||
Ric3dPickEvent viewerEventObject( pickItemInfos, mainOrComparisonView, keyboardModifiers );
|
Ric3dPickEvent viewerEventObject( pickItemInfos, mainOrComparisonView, keyboardModifiers );
|
||||||
|
|
||||||
@ -739,7 +735,7 @@ void RiuViewerCommands::handlePickAction( int winPosX, int winPosY, Qt::Keyboard
|
|||||||
uint firstPartTriangleIndex = cvf::UNDEFINED_UINT;
|
uint firstPartTriangleIndex = cvf::UNDEFINED_UINT;
|
||||||
cvf::Vec3d globalIntersectionPoint( cvf::Vec3d::ZERO );
|
cvf::Vec3d globalIntersectionPoint( cvf::Vec3d::ZERO );
|
||||||
|
|
||||||
if ( pickItemInfos.size() )
|
if ( !pickItemInfos.empty() )
|
||||||
{
|
{
|
||||||
size_t indexToFirstNoneNncItem = cvf::UNDEFINED_SIZE_T;
|
size_t indexToFirstNoneNncItem = cvf::UNDEFINED_SIZE_T;
|
||||||
size_t indexToNncItemNearFirstItem = cvf::UNDEFINED_SIZE_T;
|
size_t indexToNncItemNearFirstItem = cvf::UNDEFINED_SIZE_T;
|
||||||
@ -1129,7 +1125,7 @@ void RiuViewerCommands::findFirstItems( Rim3dView* main
|
|||||||
size_t* indexToFirstNoneNncItem,
|
size_t* indexToFirstNoneNncItem,
|
||||||
size_t* indexToNncItemNearFirsItem )
|
size_t* indexToNncItemNearFirsItem )
|
||||||
{
|
{
|
||||||
CVF_ASSERT( pickItemInfos.size() > 0 );
|
CVF_ASSERT( !pickItemInfos.empty() );
|
||||||
CVF_ASSERT( indexToFirstNoneNncItem );
|
CVF_ASSERT( indexToFirstNoneNncItem );
|
||||||
CVF_ASSERT( indexToNncItemNearFirsItem );
|
CVF_ASSERT( indexToNncItemNearFirsItem );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user