Commit 7866de68 authored by Pavel Vainerman's avatar Pavel Vainerman

(Calibration): исправил ошибку с неверной обработкой outOfRange

parent f70e9fed
......@@ -68,6 +68,9 @@ class Calibration
/*! Тип для хранения значения */
typedef float TypeOfValue;
/*! выход за границы диапазона (TypeOfValue) */
static const TypeOfValue ValueOutOfRange;
/*! выход за границы диапазона */
static const long outOfRange;
......@@ -75,7 +78,7 @@ class Calibration
Получение калиброванного значения
\param raw - сырое значение
\param crop_raw - обрезать переданное значение по крайним точкам
\return Возвращает калиброванное
\return Возвращает калиброванное или outOfRange
*/
long getValue( long raw, bool crop_raw = false );
......@@ -199,11 +202,11 @@ class Calibration
bool checkY( const TypeOfValue& y ) const;
// функции могут вернуть OutOfRange
TypeOfValue getY( const TypeOfValue& x ) const; /*!< получить значение Y */
TypeOfValue getX( const TypeOfValue& y ) const; /*!< получить значение X */
TypeOfValue getY( const TypeOfValue& x ) const; /*!< получить значение Y */
TypeOfValue getX( const TypeOfValue& y ) const; /*!< получить значение X */
TypeOfValue calcY( const TypeOfValue& x ) const; /*!< расчитать значение для x */
TypeOfValue calcX( const TypeOfValue& y ) const; /*!< расчитать значение для y */
TypeOfValue calcY( const TypeOfValue& x ) const; /*!< расчитать значение для x */
TypeOfValue calcX( const TypeOfValue& y ) const; /*!< расчитать значение для y */
inline bool operator < ( const Part& p ) const
{
......
......@@ -10,7 +10,8 @@
using namespace std;
using namespace UniSetTypes;
// ----------------------------------------------------------------------------
const long Calibration::outOfRange = std::numeric_limits<Calibration::TypeOfValue>::max();
const Calibration::TypeOfValue Calibration::ValueOutOfRange = std::numeric_limits<Calibration::TypeOfValue>::max();
const long Calibration::outOfRange = std::numeric_limits<long>::max();
// ----------------------------------------------------------------------------
Calibration::Part::Part():
k(0)
......@@ -63,7 +64,7 @@ bool Calibration::Part::checkY( const TypeOfValue& y ) const
Calibration::TypeOfValue Calibration::Part::getY( const TypeOfValue& x ) const
{
if( !checkX(x) )
return Calibration::outOfRange;
return Calibration::ValueOutOfRange;
if( x == left_x() )
return left_y();
......@@ -77,7 +78,7 @@ Calibration::TypeOfValue Calibration::Part::getY( const TypeOfValue& x ) const
Calibration::TypeOfValue Calibration::Part::getX( const TypeOfValue& y ) const
{
if( !checkY(y) )
return Calibration::outOfRange;
return Calibration::ValueOutOfRange;
if( y == left_y() )
return left_x();
......@@ -307,7 +308,7 @@ long Calibration::getValue( long raw, bool crop_raw )
TypeOfValue q = fit->getY(raw);
if( q != outOfRange )
if( q != ValueOutOfRange )
{
if( szCache )
insertToCache(raw, tRound(q) );
......@@ -347,7 +348,7 @@ long Calibration::getRawValue( long cal, bool range )
{
TypeOfValue q = it.getX(cal);
if( q != outOfRange )
if( q != ValueOutOfRange )
return tRound(q);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment