#include "nmPebiStaticPropertyValues.h" #include #include #if !defined(_MSC_VER) #include #endif namespace { bool isFinitePropertyValue(double dValue) { #if defined(_MSC_VER) return _finite(dValue) != 0; #else return std::isfinite(dValue); #endif } bool containsOnlyFiniteValues(const QVector& vecValues) { for(int nIndex = 0; nIndex < vecValues.size(); ++nIndex) { if(!isFinitePropertyValue(vecValues[nIndex])) { return false; } } return true; } } void nmPebiStaticPropertyValues::clear() { m_vecPermeabilityMilliDarcy.clear(); m_vecPorosity.clear(); m_vecThicknessMeters.clear(); } bool nmPebiStaticPropertyValues::isValidForCellCount( int nOriginalCellCount) const { if(nOriginalCellCount <= 0 || m_vecPermeabilityMilliDarcy.size() != nOriginalCellCount || m_vecPorosity.size() != nOriginalCellCount || m_vecThicknessMeters.size() != nOriginalCellCount) { return false; } return containsOnlyFiniteValues(m_vecPermeabilityMilliDarcy) && containsOnlyFiniteValues(m_vecPorosity) && containsOnlyFiniteValues(m_vecThicknessMeters); }