First implementation of Headless (#4392)

* Revert "#4377 Octave : Use RiaLogging for error messages instead of QErrorMessage "

This reverts commit f758a8edb2.

* Revert "#4380 Preferences : Changing scene font size when geo mech view is open causes crash"

This reverts commit df62a41397.

* Revert "#4379 Documentation : Update command line parser for import of summary files"

This reverts commit d0b5357ed4.

* Unfinished WIP

* Builds but crashes

* Refactored code now builds and runs

* ResInsight can now run the unittests headless

* Can run some command files successfully

* Build on Linux

* Extra headless hack header

* Moved PdmUiItem hack to cpp file

* Fix headless crash in RimWellAllocationPlot

* Handle error gracefully if ExportSnapshots command is executed from console

* Add caf::QIconProvider and remove some hacks

* Also made the greying out of disabled icons work for a couple of cases where it didn't.

* Linux build fix

* #4380 Reimplement fix df62a41397 by @magnesj on top of Headless code changes

* #4379 Reintroduce kode from d0b5357ed4 by @magnesj

* #4377 Restore f758a8edb2 in new Headless code
This commit is contained in:
Gaute Lindkvist
2019-05-06 10:36:05 +02:00
committed by GitHub
parent 4c46573fc9
commit 57b33b0d4c
150 changed files with 4001 additions and 2804 deletions

View File

@@ -20,7 +20,7 @@
#include "RivGridBoxGenerator.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaColorTools.h"
#include "RivPartPriority.h"
@@ -639,7 +639,7 @@ void RivGridBoxGenerator::createLegend(EdgeType edge, cvf::Collection<cvf::Part>
cvf::ref<cvf::DrawableText> geo = new cvf::DrawableText;
cvf::Font* standardFont = RiaApplication::instance()->defaultSceneFont();
cvf::Font* standardFont = RiaGuiApplication::instance()->defaultSceneFont();
geo->setFont(standardFont);
geo->setTextColor(m_gridLegendColor);

View File

@@ -19,7 +19,7 @@
#include "RivIntersectionPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaOffshoreSphericalCoords.h"
#include "RiaPreferences.h"
@@ -607,7 +607,7 @@ void RivIntersectionPartMgr::createFaultLabelParts(const std::vector<std::pair<Q
if (!(eclipseView && faultInViewColl->showFaultLabel())) return;
cvf::Color3f faultLabelColor = faultInViewColl->faultLabelColor();
cvf::Font* font = RiaApplication::instance()->defaultSceneFont();
cvf::Font* font = RiaGuiApplication::instance()->defaultSceneFont();
std::vector<cvf::Vec3f> lineVertices;

View File

@@ -18,7 +18,7 @@
#include "Riv3dWellLogPlanePartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "Rim3dView.h"
#include "Rim3dWellLogCurveCollection.h"
@@ -258,7 +258,7 @@ void Riv3dWellLogPlanePartMgr::appendDrawSurfaceToModel(cvf::ModelBasicList*
if (normals.notNull())
{
normals->setSingleColor(borderColor);
if (RiaApplication::instance()->useShaders())
if (RiaGuiApplication::instance()->useShaders())
{
normals->setUniformNames("u_transformationMatrix", "u_color");
}

View File

@@ -19,7 +19,7 @@
#include "RivFaultPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaPreferences.h"
#include "RigCaseCellResultsData.h"
@@ -482,7 +482,9 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part)
// Fault label
if (!m_rimFault->name().isEmpty())
{
cvf::Font* font = RiaApplication::instance()->defaultWellLabelFont();
RiaGuiApplication* app = RiaGuiApplication::instance();
cvf::Font* font = app->defaultWellLabelFont();
cvf::ref<cvf::DrawableText> drawableText = new cvf::DrawableText;
drawableText->setFont(font);
@@ -491,7 +493,7 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part)
drawableText->setDrawBackground(false);
drawableText->setVerticalAlignment(cvf::TextDrawer::CENTER);
cvf::Color3f defWellLabelColor = RiaApplication::instance()->preferences()->defaultWellLabelColor();
cvf::Color3f defWellLabelColor = app->preferences()->defaultWellLabelColor();
{
{
RimFaultInViewCollection* parentObject;

View File

@@ -186,11 +186,13 @@ void RivMeasurementPartMgr::buildPolyLineParts(const cvf::Camera* camera,
negativeXDir = true;
}
auto backgroundColor = RiaApplication::instance()->preferences()->defaultViewerBackgroundColor;
RiaGuiApplication* app = RiaGuiApplication::instance();
auto backgroundColor = app->preferences()->defaultViewerBackgroundColor;
auto fontColor = cvf::Color3f::BLACK;
QString text = m_measurement->label();
auto labelPosition = pointsInDisplay.back();
auto font = RiaApplication::instance()->defaultWellLabelFont();
auto font = app->defaultWellLabelFont();
cvf::ref<cvf::DrawableText> drawableText = new cvf::DrawableText;
drawableText->setFont(font);

View File

@@ -18,7 +18,7 @@
#include "RivPolylineAnnotationPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaBoundingBoxTools.h"
#include "Rim3dView.h"
@@ -134,7 +134,7 @@ void RivPolylineAnnotationPartMgr::buildPolylineAnnotationParts(const caf::Displ
}
cvf::ref<cvf::DrawableVectors> vectorDrawable;
if (RiaApplication::instance()->useShaders())
if (RiaGuiApplication::instance()->useShaders())
{
// NOTE: Drawable vectors must be rendered using shaders when the rest of the application is rendered using
// shaders Drawing vectors using fixed function when rest of the application uses shaders causes visual artifacts

View File

@@ -22,7 +22,7 @@
#include "RivWellHeadPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RigActiveCellInfo.h"
#include "RigCell.h"
@@ -297,7 +297,7 @@ void RivWellHeadPartMgr::buildWellHeadParts(size_t frameIndex,
if (well->showWellLabel() && !well->name().isEmpty())
{
cvf::Font* font = RiaApplication::instance()->defaultWellLabelFont();
cvf::Font* font = RiaGuiApplication::instance()->defaultWellLabelFont();
cvf::ref<cvf::DrawableText> drawableText = new cvf::DrawableText;
drawableText->setFont(font);

View File

@@ -21,7 +21,7 @@
#include "RivWellPathPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RigEclipseCaseData.h"
#include "RigMainGrid.h"
@@ -612,7 +612,7 @@ void RivWellPathPartMgr::buildWellPathParts(const caf::DisplayCoordTransform* di
if (wellPathCollection->showWellPathLabel() && m_rimWellPath->showWellPathLabel() && !m_rimWellPath->name().isEmpty())
{
cvf::Font* font = RiaApplication::instance()->defaultWellLabelFont();
cvf::Font* font = RiaGuiApplication::instance()->defaultWellLabelFont();
cvf::ref<cvf::DrawableText> drawableText = new cvf::DrawableText;
drawableText->setFont(font);

View File

@@ -18,7 +18,7 @@
#include "RivWellSpheresPartMgr.h"
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RigMainGrid.h"
#include "RigSimWellData.h"
@@ -137,7 +137,7 @@ cvf::ref<cvf::Part> RivWellSpheresPartMgr::createPart(std::vector<std::pair<cvf:
}
cvf::ref<cvf::DrawableVectors> vectorDrawable;
if (RiaApplication::instance()->useShaders())
if (RiaGuiApplication::instance()->useShaders())
{
// NOTE: Drawable vectors must be rendered using shaders when the rest of the application is rendered using shaders
// Drawing vectors using fixed function when rest of the application uses shaders causes visual artifacts
@@ -169,7 +169,7 @@ cvf::ref<cvf::Part> RivWellSpheresPartMgr::createPart(std::vector<std::pair<cvf:
part->setDrawable(vectorDrawable.p());
cvf::ref<cvf::Effect> eff = new cvf::Effect;
if (RiaApplication::instance()->useShaders())
if (RiaGuiApplication::instance()->useShaders())
{
if (m_rimReservoirView->viewer())
{