(#642) Date in animation progress.

Not removed from Info text yet
This commit is contained in:
Jacob Støren 2015-11-11 16:21:07 +01:00
parent 6f4a4e16c6
commit adc777083d
9 changed files with 62 additions and 31 deletions

View File

@ -338,8 +338,8 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * reservoirView)
|| reservoirView->cellResult()->isTernarySaturationSelected())
{
int currentTimeStep = reservoirView->currentTimeStep();
QDateTime date = reservoirView->currentGridCellResults()->cellResults()->timeStepDate(0, currentTimeStep);
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(date.toString("dd.MMM yyyy"));
QString dateString = reservoirView->ownerCase()->timeStepName(currentTimeStep);
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(dateString);
}
reservoirView->viewer()->setInfoText(infoText);
@ -480,8 +480,8 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView)
}
{
int currentTimeStep = geoMechView->currentTimeStep();
QString stepName = QString::fromStdString(caseData->femPartResults()->stepNames()[currentTimeStep]);
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(stepName);
QString dateString = geoMechView->ownerCase()->timeStepName(currentTimeStep);
infoText += QString("<b>Time Step:</b> %1 <b>Time:</b> %2").arg(currentTimeStep).arg(dateString);
}
}

View File

@ -41,14 +41,13 @@ public:
virtual caf::PdmFieldHandle* userDescriptionField() { return &caseUserDescription; }
virtual QStringList timeStepStrings() { return QStringList(); }
virtual QStringList timeStepStrings() = 0;
virtual QString timeStepName(int frameIdx) = 0;
protected:
static QString relocateFile(const QString& fileName, const QString& newProjectPath, const QString& oldProjectPath,
bool* foundFile, std::vector<QString>* searchedPaths);
private:
};

View File

@ -52,7 +52,7 @@ CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimEclipseCase, "RimReservoir");
//------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipseCase::RimEclipseCase()
RimEclipseCase::RimEclipseCase()
{
CAF_PDM_InitFieldNoDefault(&reservoirViews, "ReservoirViews", "", "", "", "");
reservoirViews.uiCapability()->setUiHidden(true);
@ -428,27 +428,44 @@ QStringList RimEclipseCase::timeStepStrings()
{
QStringList stringList;
std::vector<QDateTime> timeStepDates = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates(0);
bool showHoursAndMinutes = false;
for (size_t i = 0; i < timeStepDates.size(); i++)
int timeStepCount = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepCount(0);
for (size_t i = 0; i < timeStepCount; i++)
{
if (timeStepDates[i].time().hour() != 0.0 || timeStepDates[i].time().minute() != 0.0)
{
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);
stringList += this->timeStepName(i);
}
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);
}

View File

@ -86,6 +86,7 @@ public:
virtual std::vector<RimView*> views();
virtual QStringList timeStepStrings();
virtual QString timeStepName(int frameIdx);
// Overridden methods from PdmObject
public:
@ -99,13 +100,13 @@ protected:
void computeCachedData();
void setReservoirData(RigCaseData* eclipseCase);
private:
cvf::ref<RigCaseData> m_rigEclipseCase;
private:
caf::PdmChildField<RimReservoirCellResultsStorage*> m_matrixModelResults;
caf::PdmChildField<RimReservoirCellResultsStorage*> m_fractureModelResults;
QString m_timeStepFormatString;
// Obsolete fields
protected:

View File

@ -110,6 +110,7 @@ public:
void setEclipseCase(RimEclipseCase* reservoir);
RimEclipseCase* eclipseCase();
virtual RimCase* ownerCase();
// Display model generation
@ -165,10 +166,10 @@ private:
void clampCurrentTimestep();
virtual RimCase* ownerCase();
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);
caf::PdmChildField<RimEclipsePropertyFilterCollection*> m_propertyFilterCollection;
caf::PdmPointer<RimEclipsePropertyFilterCollection> m_overridePropertyFilterCollection;

View File

@ -169,3 +169,13 @@ QStringList RimGeoMechCase::timeStepStrings()
return stringList;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimGeoMechCase::timeStepName(int frameIdx)
{
std::vector<std::string> stepNames = geoMechData()->femPartResults()->stepNames();
return QString::fromStdString(stepNames[frameIdx]);
}

View File

@ -57,7 +57,7 @@ public:
virtual std::vector<RimView*> views();
virtual QStringList timeStepStrings();
virtual QString timeStepName(int frameIdx);
// Fields:
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;

View File

@ -60,6 +60,7 @@ public:
void setGeoMechCase(RimGeoMechCase* gmCase);
RimGeoMechCase* geoMechCase();
virtual RimCase* ownerCase();
virtual void loadDataAndUpdate();
@ -96,7 +97,6 @@ private:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual void initAfterRead();
virtual RimCase* ownerCase();
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility);

View File

@ -47,6 +47,7 @@
#include <QLabel>
#include <QMouseEvent>
#include <QProgressBar>
#include "RimCase.h"
using cvf::ManipulatorTrackball;
@ -332,6 +333,8 @@ void RiuViewer::paintOverlayItems(QPainter* painter)
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->setMaximum(static_cast<int>(frameCount()) - 1);
m_animationProgress->setValue(currentFrameIndex());