Ref T397, interpolation / interpolant fixes

* fixed fillSituationsArray to return correct initial situations
* VERIFY ranges and times to avoid inf/NaN and issues in general
* if invalid situations, continue with last situation
* count invalid situations
This commit is contained in:
Klaus Basan
2018-10-18 17:48:54 +02:00
parent 62c532ae1f
commit 48d5e0daec
5 changed files with 138 additions and 72 deletions

View File

@@ -31,6 +31,12 @@ namespace BlackMisc
//! Situations available
int getSituationsAvailable() const { return m_situationsAvailable; }
//! Valid?
bool isValid() const { return m_valid; }
//! Valid?
void setValid(bool valid) { m_valid = valid; }
protected:
//! Default ctor
IInterpolant() {}
@@ -44,6 +50,7 @@ namespace BlackMisc
qint64 m_interpolatedTime = -1; //!< "Real time "of interpolated situation
int m_situationsAvailable = 0; //!< used situations
CInterpolatorPbh m_pbh; //!< the used PBH interpolator
bool m_valid = true; //!< valid?
};
} // namespace
} // namespace