mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3043 Implement Time step filtering on import for Geomech
This commit is contained in:
@@ -36,3 +36,55 @@ RifGeoMechReaderInterface::~RifGeoMechReaderInterface()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifGeoMechReaderInterface::setTimeStepFilter(const std::vector<size_t>& fileTimeStepIndices)
|
||||
{
|
||||
m_fileTimeStepIndices.reserve(fileTimeStepIndices.size());
|
||||
for (size_t stepIndex : fileTimeStepIndices)
|
||||
{
|
||||
m_fileTimeStepIndices.push_back(static_cast<int>(stepIndex));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RifGeoMechReaderInterface::isTimeStepIncludedByFilter(int timeStepIndex) const
|
||||
{
|
||||
CVF_ASSERT(timeStepIndex >= 0);
|
||||
if (m_fileTimeStepIndices.empty()) return true;
|
||||
|
||||
for (auto i : m_fileTimeStepIndices)
|
||||
{
|
||||
if (i == static_cast<size_t>(timeStepIndex))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RifGeoMechReaderInterface::timeStepIndexOnFile(int timeStepIndex) const
|
||||
{
|
||||
if (m_fileTimeStepIndices.empty())
|
||||
{
|
||||
return timeStepIndex;
|
||||
}
|
||||
CVF_ASSERT(timeStepIndex >= 0);
|
||||
CVF_ASSERT(static_cast<size_t>(timeStepIndex) < m_fileTimeStepIndices.size());
|
||||
|
||||
if (static_cast<size_t>(timeStepIndex) < m_fileTimeStepIndices.size())
|
||||
{
|
||||
return static_cast<int>(m_fileTimeStepIndices[timeStepIndex]);
|
||||
}
|
||||
|
||||
return timeStepIndex;
|
||||
}
|
||||
Reference in New Issue
Block a user