(#80) Refactored navigation mode related code

Made sure that navigation policies are created only one place, in the
new member function RiuViewer::updateNavigationPolicy().
This commit is contained in:
Pål Hagen
2015-07-02 12:44:57 +02:00
parent c863d087f0
commit 22c0c812af
4 changed files with 37 additions and 49 deletions

View File

@@ -44,10 +44,6 @@
#include "RimFaultCollection.h"
#include "RimEclipseFaultColors.h"
#include "cafCeetronNavigation.h"
#include "RiuCadNavigation.h"
#include "RiuRmsNavigation.h"
#include "RiuGeoQuestNavigation.h"
#include "RiaSocketServer.h"
#include "cafUiProcess.h"
//
@@ -1381,27 +1377,7 @@ void RiaApplication::applyPreferences()
{
if (m_activeReservoirView && m_activeReservoirView->viewer())
{
if (m_preferences->navigationPolicy() == NAVIGATION_POLICY_CAD)
{
m_activeReservoirView->viewer()->setNavigationPolicy(new RiuCadNavigation);
}
else if (m_preferences->navigationPolicy() == NAVIGATION_POLICY_CEETRON)
{
m_activeReservoirView->viewer()->setNavigationPolicy(new caf::CeetronPlusNavigation);
}
else if (m_preferences->navigationPolicy() == NAVIGATION_POLICY_GEOQUEST)
{
m_activeReservoirView->viewer()->setNavigationPolicy(new RiuGeoQuestNavigation);
}
else if (m_preferences->navigationPolicy() == NAVIGATION_POLICY_RMS)
{
m_activeReservoirView->viewer()->setNavigationPolicy(new RiuRmsNavigation);
}
else
{
CVF_ASSERT(0);
}
m_activeReservoirView->viewer()->updateNavigationPolicy();
m_activeReservoirView->viewer()->enablePerfInfoHud(m_preferences->showHud());
}

View File

@@ -6,10 +6,6 @@
#include "Rim3dOverlayInfoConfig.h"
#include "RiuViewer.h"
#include "RiuMainWindow.h"
#include "cafCeetronPlusNavigation.h"
#include "RiuCadNavigation.h"
#include "RiuRmsNavigation.h"
#include "RiuGeoQuestNavigation.h"
#include "cvfCamera.h"
#include "cvfModel.h"
#include "cvfModelBasicList.h"
@@ -141,26 +137,7 @@ void RimView::updateViewerWidget()
this->resetLegendsInViewer();
if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_CAD)
{
m_viewer->setNavigationPolicy(new RiuCadNavigation);
}
else if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_CEETRON)
{
m_viewer->setNavigationPolicy(new caf::CeetronPlusNavigation);
}
else if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_GEOQUEST)
{
m_viewer->setNavigationPolicy(new RiuGeoQuestNavigation);
}
else if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_RMS)
{
m_viewer->setNavigationPolicy(new RiuRmsNavigation);
}
else
{
CVF_ASSERT(0);
}
m_viewer->updateNavigationPolicy();
m_viewer->enablePerfInfoHud(RiaApplication::instance()->showPerformanceInfo());
isViewerCreated = true;

View File

@@ -26,6 +26,11 @@
#include "RiaApplication.h"
#include "RiuMainWindow.h"
#include "cafCeetronPlusNavigation.h"
#include "RiuCadNavigation.h"
#include "RiuRmsNavigation.h"
#include "RiuGeoQuestNavigation.h"
#include "RimEclipseView.h"
#include "Rim3dOverlayInfoConfig.h"
@@ -457,3 +462,32 @@ void RiuViewer::addColorLegendToBottomLeftCorner(cvf::OverlayItem* legend)
m_visibleLegends.push_back(legend);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuViewer::updateNavigationPolicy()
{
switch (RiaApplication::instance()->navigationPolicy())
{
case RiaApplication::NAVIGATION_POLICY_CAD:
setNavigationPolicy(new RiuCadNavigation);
break;
case RiaApplication::NAVIGATION_POLICY_CEETRON:
setNavigationPolicy(new caf::CeetronPlusNavigation);
break;
case RiaApplication::NAVIGATION_POLICY_GEOQUEST:
setNavigationPolicy(new RiuGeoQuestNavigation);
break;
case RiaApplication::NAVIGATION_POLICY_RMS:
setNavigationPolicy(new RiuRmsNavigation);
break;
default:
CVF_ASSERT(0);
break;
}
}

View File

@@ -71,6 +71,7 @@ public:
void removeAllColorLegends();
void addColorLegendToBottomLeftCorner(cvf::OverlayItem* legend);
void updateNavigationPolicy();
public slots:
virtual void slotSetCurrentFrame(int frameIndex);