mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Refactoring more general stuff into RimView
updateViewerWidget scheduleUpdateDisplayModelAndRedraw
This commit is contained in:
@@ -87,6 +87,9 @@ RimGeoMechView::RimGeoMechView(void)
|
||||
CAF_PDM_InitField(&meshMode, "MeshMode", defaultMeshType, "Grid lines", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&surfaceMode, "SurfaceMode", "Grid surface", "", "", "");
|
||||
|
||||
//this->cellResult()->setReservoirView(this);
|
||||
this->cellResult()->legendConfig()->setPosition(cvf::Vec2ui(10, 120));
|
||||
this->cellResult()->legendConfig()->setReservoirView(this);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -94,71 +97,9 @@ RimGeoMechView::RimGeoMechView(void)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGeoMechView::~RimGeoMechView(void)
|
||||
{
|
||||
m_geomechCase = NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGeoMechView::updateViewerWidget()
|
||||
{
|
||||
if (showWindow())
|
||||
{
|
||||
bool isViewerCreated = false;
|
||||
if (!m_viewer)
|
||||
{
|
||||
QGLFormat glFormat;
|
||||
glFormat.setDirectRendering(RiaApplication::instance()->useShaders());
|
||||
|
||||
m_viewer = new RiuViewer(glFormat, NULL);
|
||||
//m_viewer->setOwnerReservoirView(this);
|
||||
|
||||
RiuMainWindow::instance()->addViewer(m_viewer);
|
||||
m_viewer->setMinNearPlaneDistance(10);
|
||||
|
||||
|
||||
m_viewer->removeAllColorLegends();
|
||||
m_viewer->addColorLegendToBottomLeftCorner(this->cellResult()->legendConfig->legend());
|
||||
|
||||
if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_CEETRON)
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CeetronPlusNavigation);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CadNavigation);
|
||||
}
|
||||
|
||||
m_viewer->enablePerfInfoHud(RiaApplication::instance()->showPerformanceInfo());
|
||||
|
||||
//m_viewer->layoutWidget()->showMaximized();
|
||||
|
||||
isViewerCreated = true;
|
||||
}
|
||||
|
||||
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
||||
|
||||
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
||||
m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor()));
|
||||
|
||||
m_viewer->update();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_viewer)
|
||||
{
|
||||
if (m_viewer->layoutWidget()->parentWidget())
|
||||
{
|
||||
m_viewer->layoutWidget()->parentWidget()->hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->layoutWidget()->hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateViewerWidgetWindowTitle();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -168,9 +109,9 @@ void RimGeoMechView::updateViewerWidgetWindowTitle()
|
||||
if (m_viewer)
|
||||
{
|
||||
QString windowTitle;
|
||||
if (false)//m_reservoir.notNull())
|
||||
if (m_geomechCase.notNull())
|
||||
{
|
||||
// windowTitle = QString("%1 - %2").arg(m_reservoir->caseUserDescription()).arg(name);
|
||||
windowTitle = QString("%1 - %2").arg(m_geomechCase->caseUserDescription()).arg(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -253,6 +194,17 @@ void RimGeoMechView::setGeoMechCase(RimGeoMechCase* gmCase)
|
||||
m_geomechCase = gmCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGeoMechView::resetLegendsInViewer()
|
||||
{
|
||||
this->cellResult()->legendConfig->recreateLegend();
|
||||
|
||||
m_viewer->removeAllColorLegends();
|
||||
m_viewer->addColorLegendToBottomLeftCorner(this->cellResult()->legendConfig->legend());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -76,9 +76,10 @@ public:
|
||||
caf::PdmField< caf::AppEnum< SurfaceModeType > > surfaceMode;
|
||||
|
||||
private:
|
||||
void updateViewerWidget();
|
||||
void updateViewerWidgetWindowTitle();
|
||||
void createDisplayModelAndRedraw();
|
||||
|
||||
virtual void updateViewerWidgetWindowTitle();
|
||||
virtual void createDisplayModelAndRedraw();
|
||||
virtual void resetLegendsInViewer();
|
||||
|
||||
caf::PdmPointer<RimGeoMechCase> m_geomechCase;
|
||||
cvf::ref<RivGeoMechPartMgr> m_geoMechVizModel;
|
||||
|
||||
@@ -160,85 +160,17 @@ RimReservoirView::~RimReservoirView()
|
||||
delete this->faultResultSettings();
|
||||
delete this->cellResult();
|
||||
delete this->cellEdgeResult();
|
||||
delete this->overlayInfoConfig();
|
||||
|
||||
delete rangeFilterCollection();
|
||||
delete propertyFilterCollection();
|
||||
delete wellCollection();
|
||||
delete faultCollection();
|
||||
|
||||
if (m_viewer)
|
||||
{
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
}
|
||||
|
||||
m_reservoirGridPartManager->clearGeometryCache();
|
||||
delete m_viewer;
|
||||
|
||||
|
||||
m_reservoir = NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirView::updateViewerWidget()
|
||||
{
|
||||
if (showWindow())
|
||||
{
|
||||
bool isViewerCreated = false;
|
||||
if (!m_viewer)
|
||||
{
|
||||
QGLFormat glFormat;
|
||||
glFormat.setDirectRendering(RiaApplication::instance()->useShaders());
|
||||
|
||||
m_viewer = new RiuViewer(glFormat, NULL);
|
||||
m_viewer->setOwnerReservoirView(this);
|
||||
|
||||
RiuMainWindow::instance()->addViewer(m_viewer);
|
||||
m_viewer->setMinNearPlaneDistance(10);
|
||||
|
||||
this->resetLegendsInViewer();
|
||||
|
||||
if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_CEETRON)
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CeetronPlusNavigation);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CadNavigation);
|
||||
}
|
||||
|
||||
m_viewer->enablePerfInfoHud(RiaApplication::instance()->showPerformanceInfo());
|
||||
|
||||
//m_viewer->layoutWidget()->showMaximized();
|
||||
|
||||
isViewerCreated = true;
|
||||
}
|
||||
|
||||
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
||||
|
||||
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
||||
m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor()));
|
||||
|
||||
m_viewer->update();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_viewer)
|
||||
{
|
||||
if (m_viewer->layoutWidget()->parentWidget())
|
||||
{
|
||||
m_viewer->layoutWidget()->parentWidget()->hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->layoutWidget()->hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateViewerWidgetWindowTitle();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -278,14 +210,6 @@ void RimReservoirView::clampCurrentTimestep()
|
||||
if (m_currentTimeStep < 0 ) m_currentTimeStep = 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirView::scheduleCreateDisplayModelAndRedraw()
|
||||
{
|
||||
RiaApplication::instance()->scheduleDisplayModelUpdateAndRedraw(this);
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
|
||||
@@ -133,11 +133,11 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
void updateViewerWidget();
|
||||
void resetLegendsInViewer();
|
||||
|
||||
virtual void resetLegendsInViewer();
|
||||
|
||||
|
||||
void updateViewerWidgetWindowTitle();
|
||||
virtual void updateViewerWidgetWindowTitle();
|
||||
void setDefaultView();
|
||||
|
||||
public:
|
||||
@@ -155,9 +155,8 @@ public:
|
||||
|
||||
// Display model generation
|
||||
public:
|
||||
virtual void createDisplayModelAndRedraw();
|
||||
void loadDataAndUpdate();
|
||||
void createDisplayModelAndRedraw();
|
||||
void scheduleCreateDisplayModelAndRedraw();
|
||||
bool isTimeStepDependentDataVisible() const;
|
||||
|
||||
void scheduleGeometryRegen(unsigned short geometryType);
|
||||
@@ -171,6 +170,7 @@ public:
|
||||
|
||||
// Display model generation
|
||||
private:
|
||||
|
||||
void createDisplayModel();
|
||||
void updateDisplayModelVisibility();
|
||||
void updateCurrentTimeStep();
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
#include "RiaPreferences.h"
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
#include "RiuViewer.h"
|
||||
#include "RiuMainWindow.h"
|
||||
#include "cafCeetronPlusNavigation.h"
|
||||
#include "cafCadNavigation.h"
|
||||
#include "cvfCamera.h"
|
||||
#include "cvfViewport.h"
|
||||
|
||||
CAF_PDM_ABSTRACT_SOURCE_INIT(RimView, "GenericView"); // Do not use. Abstract class
|
||||
|
||||
@@ -51,7 +56,14 @@ RimView::RimView(void)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimView::~RimView(void)
|
||||
{
|
||||
|
||||
delete this->overlayInfoConfig();
|
||||
|
||||
if (m_viewer)
|
||||
{
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
}
|
||||
|
||||
delete m_viewer;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -62,5 +74,75 @@ RiuViewer* RimView::viewer()
|
||||
return m_viewer;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimView::updateViewerWidget()
|
||||
{
|
||||
if (showWindow())
|
||||
{
|
||||
bool isViewerCreated = false;
|
||||
if (!m_viewer)
|
||||
{
|
||||
QGLFormat glFormat;
|
||||
glFormat.setDirectRendering(RiaApplication::instance()->useShaders());
|
||||
|
||||
m_viewer = new RiuViewer(glFormat, NULL);
|
||||
m_viewer->setOwnerReservoirView(this);
|
||||
|
||||
RiuMainWindow::instance()->addViewer(m_viewer);
|
||||
m_viewer->setMinNearPlaneDistance(10);
|
||||
|
||||
this->resetLegendsInViewer();
|
||||
|
||||
if (RiaApplication::instance()->navigationPolicy() == RiaApplication::NAVIGATION_POLICY_CEETRON)
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CeetronPlusNavigation);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->setNavigationPolicy(new caf::CadNavigation);
|
||||
}
|
||||
|
||||
m_viewer->enablePerfInfoHud(RiaApplication::instance()->showPerformanceInfo());
|
||||
|
||||
isViewerCreated = true;
|
||||
}
|
||||
|
||||
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
||||
|
||||
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
||||
m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor()));
|
||||
|
||||
m_viewer->update();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_viewer)
|
||||
{
|
||||
if (m_viewer->layoutWidget()->parentWidget())
|
||||
{
|
||||
m_viewer->layoutWidget()->parentWidget()->hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_viewer->layoutWidget()->hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateViewerWidgetWindowTitle();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimView::scheduleCreateDisplayModelAndRedraw()
|
||||
{
|
||||
RiaApplication::instance()->scheduleDisplayModelUpdateAndRedraw(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -62,14 +62,17 @@ public:
|
||||
virtual void updateCurrentTimeStepAndRedraw() = 0;
|
||||
virtual void endAnimation() = 0;
|
||||
|
||||
void scheduleCreateDisplayModelAndRedraw();
|
||||
virtual void createDisplayModelAndRedraw() = 0;
|
||||
|
||||
public:
|
||||
virtual caf::PdmFieldHandle* objectToggleField() { return &showWindow; }
|
||||
virtual caf::PdmFieldHandle* userDescriptionField() { return &name; }
|
||||
protected:
|
||||
//void updateViewerWidget();
|
||||
//virtual void resetLegendsInViewer() = 0;
|
||||
|
||||
virtual void resetLegendsInViewer() = 0;
|
||||
void updateViewerWidget();
|
||||
virtual void updateViewerWidgetWindowTitle() = 0;
|
||||
QPointer<RiuViewer> m_viewer;
|
||||
caf::PdmField<int> m_currentTimeStep;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user