2017-08-08 13:53:47 +02:00
|
|
|
#ifndef _UTILMATH_H
|
|
|
|
#define _UTILMATH_H
|
|
|
|
|
2018-03-06 22:22:19 +01:00
|
|
|
#include "Common.h"
|
2017-08-08 13:53:47 +02:00
|
|
|
|
|
|
|
#define PI 3.14159265358979323846f
|
|
|
|
|
|
|
|
namespace Core {
|
|
|
|
namespace Math {
|
|
|
|
namespace Util {
|
|
|
|
|
|
|
|
float distanceSq( float x, float y, float z, float x1, float y1, float z1 );
|
|
|
|
|
|
|
|
float distance( float x, float y, float z, float x1, float y1, float z1 );
|
|
|
|
|
|
|
|
float distance2DSq( float x, float y, float x1, float y1 );
|
|
|
|
|
|
|
|
float distance2D( float x, float y, float x1, float y1 );
|
|
|
|
|
|
|
|
float calcAngTo( float x, float y, float x1, float y1 );
|
|
|
|
|
|
|
|
float calcAngFrom( float x, float y, float x1, float y1 );
|
|
|
|
|
|
|
|
uint16_t floatToUInt16( float val );
|
2018-08-29 21:40:59 +02:00
|
|
|
|
2017-08-08 13:53:47 +02:00
|
|
|
uint16_t floatToUInt16Rot( float val );
|
2018-08-29 21:40:59 +02:00
|
|
|
|
2017-08-08 13:53:47 +02:00
|
|
|
uint8_t floatToUInt8Rot( float val );
|
|
|
|
|
|
|
|
template
|
2018-08-29 21:40:59 +02:00
|
|
|
< typename T >
|
2017-08-08 13:53:47 +02:00
|
|
|
T clamp( T val, T minimum, T maximum )
|
|
|
|
{
|
2018-08-29 21:40:59 +02:00
|
|
|
if( val > maximum )
|
|
|
|
{
|
|
|
|
return maximum;
|
|
|
|
}
|
|
|
|
|
|
|
|
if( val < minimum )
|
|
|
|
{
|
|
|
|
return minimum;
|
|
|
|
}
|
|
|
|
|
|
|
|
return val;
|
2017-08-08 13:53:47 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-08 14:25:04 +02:00
|
|
|
#endif
|