(#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()) || 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);
} }
} }

View File

@@ -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:
}; };

View File

@@ -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);
}

View File

@@ -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:

View File

@@ -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;

View File

@@ -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]);
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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());