Skip to content
Snippets Groups Projects
Commit 2c72c67f authored by Simon Schneegans's avatar Simon Schneegans
Browse files

Merge branch 'develop' into feature/SensorMappingFix

parents a879c0e8 73ff8350
No related branches found
No related tags found
1 merge request!16Sensor mapping fix
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
/* INCLUDES */ /* INCLUDES */
/*============================================================================*/ /*============================================================================*/
#include <cassert>
#include <cmath> #include <cmath>
#include <limits> #include <limits>
...@@ -68,9 +69,14 @@ namespace Vista ...@@ -68,9 +69,14 @@ namespace Vista
template< typename TFloat > template< typename TFloat >
bool IsValidNumber( const TFloat fValue ); bool IsValidNumber( const TFloat fValue );
// clamps val to the range [minVal, maxVal]
template< typename TFloat > template< typename TFloat >
TFloat Clamp( const TFloat val, const TFloat minVal, const TFloat maxVal ); TFloat Clamp( const TFloat val, const TFloat minVal, const TFloat maxVal );
// mixes valA and valB using a param in [0, 1]
template< typename TFloat, typename TParam >
TFloat Mix( const TParam param, const TFloat valA, const TFloat valB );
// true iff val >= minVal && val <= maxVal // true iff val >= minVal && val <= maxVal
template< typename TFloat > template< typename TFloat >
bool GetIsInRangeInclusive(const TFloat val, const TFloat minVal, const TFloat maxVal); bool GetIsInRangeInclusive(const TFloat val, const TFloat minVal, const TFloat maxVal);
...@@ -82,7 +88,7 @@ namespace Vista ...@@ -82,7 +88,7 @@ namespace Vista
template< typename TFloat > template< typename TFloat >
TFloat Sign( const TFloat val ); TFloat Sign( const TFloat val );
} } // namespace Vista
/** /**
* Convert angles given in radians to degrees and vice versa. * Convert angles given in radians to degrees and vice versa.
...@@ -122,6 +128,13 @@ TFloat Vista::Clamp( const TFloat val, const TFloat minVal, const TFloat maxVal ...@@ -122,6 +128,13 @@ TFloat Vista::Clamp( const TFloat val, const TFloat minVal, const TFloat maxVal
return val < minVal ? minVal : ( val > maxVal ? maxVal : val ); return val < minVal ? minVal : ( val > maxVal ? maxVal : val );
} }
template< typename TFloat, typename TParam >
TFloat Vista::Mix( const TParam param, const TFloat valA, const TFloat valB )
{
assert( param >= TParam( 0.0 ) && param <= TParam( 1.0 ) && "Invalid mix param." );
return ( TParam( 1.0 ) - param ) * valA + param * valB;
}
template< typename TFloat > template< typename TFloat >
bool Vista::GetIsInRangeInclusive(const TFloat val, const TFloat minVal, const TFloat maxVal) bool Vista::GetIsInRangeInclusive(const TFloat val, const TFloat minVal, const TFloat maxVal)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment