mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#266) Use static model interface for static geometry
This commit is contained in:
@@ -811,7 +811,7 @@ void RimView::createOverlayDisplayModelAndRedraw()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimView::createOverlayDisplayModel()
|
||||
{
|
||||
cvf::ref<cvf::Scene> overlayScene = new cvf::Scene;
|
||||
m_viewer->removeAllStaticModels();
|
||||
|
||||
cvf::Collection<cvf::Part> parts;
|
||||
createPartCollectionFromSelection(&parts);
|
||||
@@ -828,15 +828,13 @@ void RimView::createOverlayDisplayModel()
|
||||
}
|
||||
|
||||
highlightModelBasicList->updateBoundingBoxesRecursive();
|
||||
overlayScene->addModel(highlightModelBasicList.p());
|
||||
m_viewer->addStaticModel(highlightModelBasicList.p());
|
||||
}
|
||||
|
||||
if (showGridBox)
|
||||
{
|
||||
overlayScene->addModel(m_viewer->gridBoxModel());
|
||||
m_viewer->addStaticModel(m_viewer->gridBoxModel());
|
||||
}
|
||||
|
||||
m_viewer->setOverlayScene(overlayScene.p());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -173,8 +173,6 @@ RiuViewer::RiuViewer(const QGLFormat& format, QWidget* parent)
|
||||
textShaderProgram = cvfOpenGLContext()->resourceManager()->getLinkedTextShaderProgram(cvfOpenGLContext());
|
||||
}
|
||||
m_gridBoxGenerator = new RivGridBoxGenerator(textShaderProgram);
|
||||
|
||||
setupRenderingSequence();
|
||||
}
|
||||
|
||||
|
||||
@@ -534,50 +532,6 @@ RimView* RiuViewer::ownerReservoirView()
|
||||
return m_rimView;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuViewer::setupRenderingSequence()
|
||||
{
|
||||
m_overlayRendering = new cvf::Rendering;
|
||||
m_overlayRendering->setCamera(new cvf::Camera);
|
||||
m_overlayRendering->setRenderQueueSorter(new cvf::RenderQueueSorterBasic(cvf::RenderQueueSorterBasic::EFFECT_ONLY));
|
||||
m_overlayRendering->setClearMode(cvf::Viewport::DO_NOT_CLEAR);
|
||||
|
||||
// Set fixed function rendering if QGLFormat does not support directRendering
|
||||
if (!this->format().directRendering())
|
||||
{
|
||||
m_overlayRendering->renderEngine()->enableForcedImmediateMode(true);
|
||||
}
|
||||
|
||||
m_renderingSequence->addRendering(m_overlayRendering.p());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuViewer::setOverlayScene(cvf::Scene* scene)
|
||||
{
|
||||
m_overlayRendering->setScene(scene);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuViewer::copyCameraView(cvf::Camera* srcCamera, cvf::Camera* dstCamera)
|
||||
{
|
||||
if (srcCamera->projection() == cvf::Camera::PERSPECTIVE)
|
||||
{
|
||||
dstCamera->setProjectionAsPerspective(srcCamera->fieldOfViewYDeg(), srcCamera->nearPlane(), srcCamera->farPlane());
|
||||
}
|
||||
else
|
||||
{
|
||||
dstCamera->setProjectionAsOrtho(srcCamera->frontPlaneFrustumHeight(), srcCamera->nearPlane(), srcCamera->farPlane());
|
||||
}
|
||||
|
||||
dstCamera->setViewMatrix(srcCamera->viewMatrix());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -586,17 +540,6 @@ void RiuViewer::optimizeClippingPlanes()
|
||||
caf::Viewer::optimizeClippingPlanes();
|
||||
|
||||
m_gridBoxGenerator->updateFromCamera(mainCamera());
|
||||
copyCameraView(mainCamera(), m_overlayRendering->camera());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuViewer::resizeGL(int width, int height)
|
||||
{
|
||||
caf::Viewer::resizeGL(width, height);
|
||||
|
||||
m_overlayRendering->camera()->viewport()->set(0, 0, width, height);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -57,8 +57,6 @@ public:
|
||||
RiuViewer(const QGLFormat& format, QWidget* parent);
|
||||
~RiuViewer();
|
||||
|
||||
void setOverlayScene(cvf::Scene* scene);
|
||||
|
||||
void setDefaultView();
|
||||
cvf::Vec3d pointOfInterest();
|
||||
void setPointOfInterest(cvf::Vec3d poi);
|
||||
@@ -92,7 +90,6 @@ public slots:
|
||||
|
||||
protected:
|
||||
virtual void optimizeClippingPlanes();
|
||||
virtual void resizeGL(int width, int height);
|
||||
|
||||
private:
|
||||
void paintOverlayItems(QPainter* painter);
|
||||
@@ -100,8 +97,6 @@ private:
|
||||
void mouseReleaseEvent(QMouseEvent* event);
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
|
||||
void setupRenderingSequence();
|
||||
static void copyCameraView(cvf::Camera* srcCamera, cvf::Camera* dstCamera);
|
||||
private:
|
||||
QLabel* m_InfoLabel;
|
||||
QLabel* m_versionInfoLabel;
|
||||
@@ -122,7 +117,5 @@ private:
|
||||
RiuViewerCommands* m_viewerCommands;
|
||||
|
||||
RivGridBoxGenerator* m_gridBoxGenerator;
|
||||
|
||||
cvf::ref<cvf::Rendering> m_overlayRendering;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user