mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
@@ -338,8 +338,8 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * reservoirView)
|
|||||||
|| reservoirView->cellResult()->isTernarySaturationSelected())
|
|| reservoirView->cellResult()->isTernarySaturationSelected())
|
||||||
{
|
{
|
||||||
int currentTimeStep = reservoirView->currentTimeStep();
|
int currentTimeStep = reservoirView->currentTimeStep();
|
||||||
QDateTime date = reservoirView->currentGridCellResults()->cellResults()->timeStepDate(0, currentTimeStep);
|
QString dateString = reservoirView->ownerCase()->timeStepName(currentTimeStep);
|
||||||
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(date.toString("dd.MMM yyyy"));
|
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(dateString);
|
||||||
}
|
}
|
||||||
|
|
||||||
reservoirView->viewer()->setInfoText(infoText);
|
reservoirView->viewer()->setInfoText(infoText);
|
||||||
@@ -480,8 +480,8 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView)
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
int currentTimeStep = geoMechView->currentTimeStep();
|
int currentTimeStep = geoMechView->currentTimeStep();
|
||||||
QString stepName = QString::fromStdString(caseData->femPartResults()->stepNames()[currentTimeStep]);
|
QString dateString = geoMechView->ownerCase()->timeStepName(currentTimeStep);
|
||||||
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(stepName);
|
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(dateString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,14 +41,13 @@ public:
|
|||||||
|
|
||||||
virtual caf::PdmFieldHandle* userDescriptionField() { return &caseUserDescription; }
|
virtual caf::PdmFieldHandle* userDescriptionField() { return &caseUserDescription; }
|
||||||
|
|
||||||
virtual QStringList timeStepStrings() { return QStringList(); }
|
virtual QStringList timeStepStrings() = 0;
|
||||||
|
virtual QString timeStepName(int frameIdx) = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static QString relocateFile(const QString& fileName, const QString& newProjectPath, const QString& oldProjectPath,
|
static QString relocateFile(const QString& fileName, const QString& newProjectPath, const QString& oldProjectPath,
|
||||||
bool* foundFile, std::vector<QString>* searchedPaths);
|
bool* foundFile, std::vector<QString>* searchedPaths);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -428,27 +428,44 @@ QStringList RimEclipseCase::timeStepStrings()
|
|||||||
{
|
{
|
||||||
QStringList stringList;
|
QStringList stringList;
|
||||||
|
|
||||||
std::vector<QDateTime> timeStepDates = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates(0);
|
int timeStepCount = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepCount(0);
|
||||||
|
for (size_t i = 0; i < timeStepCount; i++)
|
||||||
bool showHoursAndMinutes = false;
|
|
||||||
for (size_t i = 0; i < timeStepDates.size(); i++)
|
|
||||||
{
|
{
|
||||||
if (timeStepDates[i].time().hour() != 0.0 || timeStepDates[i].time().minute() != 0.0)
|
stringList += this->timeStepName(i);
|
||||||
{
|
|
||||||
showHoursAndMinutes = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString formatString = "dd.MMM yyyy";
|
|
||||||
if (showHoursAndMinutes)
|
|
||||||
{
|
|
||||||
formatString += " - hh:mm";
|
|
||||||
}
|
|
||||||
|
|
||||||
for (size_t i = 0; i < timeStepDates.size(); i++)
|
|
||||||
{
|
|
||||||
stringList += timeStepDates[i].toString(formatString);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return stringList;
|
return stringList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
QString RimEclipseCase::timeStepName(int frameIdx)
|
||||||
|
{
|
||||||
|
if (m_timeStepFormatString.isEmpty())
|
||||||
|
{
|
||||||
|
std::vector<QDateTime> timeStepDates = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates(0);
|
||||||
|
|
||||||
|
bool hasHrsAndMinutesInTimesteps = false;
|
||||||
|
for (size_t i = 0; i < timeStepDates.size(); i++)
|
||||||
|
{
|
||||||
|
if (timeStepDates[i].time().hour() != 0.0 || timeStepDates[i].time().minute() != 0.0)
|
||||||
|
{
|
||||||
|
hasHrsAndMinutesInTimesteps = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_timeStepFormatString = "dd.MMM yyyy";
|
||||||
|
if (hasHrsAndMinutesInTimesteps)
|
||||||
|
{
|
||||||
|
m_timeStepFormatString += " - hh:mm";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QDateTime date = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDate(0,frameIdx);
|
||||||
|
return date.toString(m_timeStepFormatString);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -86,6 +86,7 @@ public:
|
|||||||
|
|
||||||
virtual std::vector<RimView*> views();
|
virtual std::vector<RimView*> views();
|
||||||
virtual QStringList timeStepStrings();
|
virtual QStringList timeStepStrings();
|
||||||
|
virtual QString timeStepName(int frameIdx);
|
||||||
|
|
||||||
// Overridden methods from PdmObject
|
// Overridden methods from PdmObject
|
||||||
public:
|
public:
|
||||||
@@ -99,13 +100,13 @@ protected:
|
|||||||
void computeCachedData();
|
void computeCachedData();
|
||||||
void setReservoirData(RigCaseData* eclipseCase);
|
void setReservoirData(RigCaseData* eclipseCase);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cvf::ref<RigCaseData> m_rigEclipseCase;
|
cvf::ref<RigCaseData> m_rigEclipseCase;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmChildField<RimReservoirCellResultsStorage*> m_matrixModelResults;
|
caf::PdmChildField<RimReservoirCellResultsStorage*> m_matrixModelResults;
|
||||||
caf::PdmChildField<RimReservoirCellResultsStorage*> m_fractureModelResults;
|
caf::PdmChildField<RimReservoirCellResultsStorage*> m_fractureModelResults;
|
||||||
|
QString m_timeStepFormatString;
|
||||||
|
|
||||||
// Obsolete fields
|
// Obsolete fields
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ public:
|
|||||||
|
|
||||||
void setEclipseCase(RimEclipseCase* reservoir);
|
void setEclipseCase(RimEclipseCase* reservoir);
|
||||||
RimEclipseCase* eclipseCase();
|
RimEclipseCase* eclipseCase();
|
||||||
|
virtual RimCase* ownerCase();
|
||||||
|
|
||||||
// Display model generation
|
// Display model generation
|
||||||
|
|
||||||
@@ -165,10 +166,10 @@ private:
|
|||||||
|
|
||||||
void clampCurrentTimestep();
|
void clampCurrentTimestep();
|
||||||
|
|
||||||
virtual RimCase* ownerCase();
|
|
||||||
|
|
||||||
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);
|
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);
|
||||||
|
|
||||||
|
|
||||||
caf::PdmChildField<RimEclipsePropertyFilterCollection*> m_propertyFilterCollection;
|
caf::PdmChildField<RimEclipsePropertyFilterCollection*> m_propertyFilterCollection;
|
||||||
caf::PdmPointer<RimEclipsePropertyFilterCollection> m_overridePropertyFilterCollection;
|
caf::PdmPointer<RimEclipsePropertyFilterCollection> m_overridePropertyFilterCollection;
|
||||||
|
|
||||||
|
|||||||
@@ -169,3 +169,13 @@ QStringList RimGeoMechCase::timeStepStrings()
|
|||||||
|
|
||||||
return stringList;
|
return stringList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString RimGeoMechCase::timeStepName(int frameIdx)
|
||||||
|
{
|
||||||
|
std::vector<std::string> stepNames = geoMechData()->femPartResults()->stepNames();
|
||||||
|
|
||||||
|
return QString::fromStdString(stepNames[frameIdx]);
|
||||||
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public:
|
|||||||
virtual std::vector<RimView*> views();
|
virtual std::vector<RimView*> views();
|
||||||
|
|
||||||
virtual QStringList timeStepStrings();
|
virtual QStringList timeStepStrings();
|
||||||
|
virtual QString timeStepName(int frameIdx);
|
||||||
|
|
||||||
// Fields:
|
// Fields:
|
||||||
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;
|
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ public:
|
|||||||
|
|
||||||
void setGeoMechCase(RimGeoMechCase* gmCase);
|
void setGeoMechCase(RimGeoMechCase* gmCase);
|
||||||
RimGeoMechCase* geoMechCase();
|
RimGeoMechCase* geoMechCase();
|
||||||
|
virtual RimCase* ownerCase();
|
||||||
|
|
||||||
virtual void loadDataAndUpdate();
|
virtual void loadDataAndUpdate();
|
||||||
|
|
||||||
@@ -96,7 +97,6 @@ private:
|
|||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||||
virtual void initAfterRead();
|
virtual void initAfterRead();
|
||||||
|
|
||||||
virtual RimCase* ownerCase();
|
|
||||||
|
|
||||||
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);
|
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QProgressBar>
|
#include <QProgressBar>
|
||||||
|
#include "RimCase.h"
|
||||||
|
|
||||||
using cvf::ManipulatorTrackball;
|
using cvf::ManipulatorTrackball;
|
||||||
|
|
||||||
@@ -332,6 +333,8 @@ void RiuViewer::paintOverlayItems(QPainter* painter)
|
|||||||
|
|
||||||
if (showAnimBar && m_showAnimProgress)
|
if (showAnimBar && m_showAnimProgress)
|
||||||
{
|
{
|
||||||
|
QString stepName = m_reservoirView->ownerCase()->timeStepName(currentFrameIndex());
|
||||||
|
m_animationProgress->setFormat("Time Step: %v/%m " + stepName);
|
||||||
m_animationProgress->setMinimum(0);
|
m_animationProgress->setMinimum(0);
|
||||||
m_animationProgress->setMaximum(static_cast<int>(frameCount()) - 1);
|
m_animationProgress->setMaximum(static_cast<int>(frameCount()) - 1);
|
||||||
m_animationProgress->setValue(currentFrameIndex());
|
m_animationProgress->setValue(currentFrameIndex());
|
||||||
|
|||||||
Reference in New Issue
Block a user