(#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

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