diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-09 15:35:43 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-09 15:35:43 +0100 |
commit | 75937077136b9ec2eaba49c74543bdee323f68ff (patch) | |
tree | ee8b20b2b3866118dd1187cafa730a9c4e90b82a /source/Defines.h | |
parent | Core: added PortsIPv6 setting to webadmin (contributed by STR_Warrior) (diff) | |
download | cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar.gz cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar.bz2 cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar.lz cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar.xz cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.tar.zst cuberite-75937077136b9ec2eaba49c74543bdee323f68ff.zip |
Diffstat (limited to 'source/Defines.h')
-rw-r--r-- | source/Defines.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/source/Defines.h b/source/Defines.h index ce0aa1594..c90416003 100644 --- a/source/Defines.h +++ b/source/Defines.h @@ -204,13 +204,13 @@ inline void AddFaceDirection(int & a_BlockX, unsigned char & a_BlockY, int & a_B #define PI 3.14159265358979323846264338327950288419716939937510582097494459072381640628620899862803482534211706798f #define MIN(a,b) (((a)>(b))?(b):(a)) #define MAX(a,b) (((a)>(b))?(a):(b)) -inline void EulerToVector( float a_Pan, float a_Pitch, float & a_X, float & a_Y, float & a_Z ) +inline void EulerToVector(double a_Pan, double a_Pitch, double & a_X, double & a_Y, double & a_Z) { // a_X = sinf ( a_Pan / 180 * PI ) * cosf ( a_Pitch / 180 * PI ); // a_Y = -sinf ( a_Pitch / 180 * PI ); // a_Z = -cosf ( a_Pan / 180 * PI ) * cosf ( a_Pitch / 180 * PI ); - a_X = cos(a_Pan / 180 * PI)*cos(a_Pitch / 180 * PI); - a_Y = sin(a_Pan / 180 * PI)*cos(a_Pitch / 180 * PI); + a_X = cos(a_Pan / 180 * PI) * cos(a_Pitch / 180 * PI); + a_Y = sin(a_Pan / 180 * PI) * cos(a_Pitch / 180 * PI); a_Z = sin(a_Pitch / 180 * PI); } @@ -218,22 +218,26 @@ inline void EulerToVector( float a_Pan, float a_Pitch, float & a_X, float & a_Y, -inline void VectorToEuler( float a_X, float a_Y, float a_Z, float & a_Pan, float & a_Pitch ) +inline void VectorToEuler(double a_X, double a_Y, double a_Z, double & a_Pan, double & a_Pitch) { - if( a_X != 0 ) - a_Pan = atan2( a_Z, a_X ) * 180 / PI - 90; + if (a_X != 0) + { + a_Pan = atan2(a_Z, a_X) * 180 / PI - 90; + } else + { a_Pan = 0; - a_Pitch = atan2(a_Y, sqrtf((a_X * a_X) + (a_Z * a_Z))) * 180 / PI; + } + a_Pitch = atan2(a_Y, sqrt((a_X * a_X) + (a_Z * a_Z))) * 180 / PI; } -inline float GetSignf( float a_Val ) +inline float GetSignf(float a_Val) { - return (a_Val < 0.f)?-1.f:1.f; + return (a_Val < 0.f) ? -1.f : 1.f; } @@ -242,7 +246,7 @@ inline float GetSignf( float a_Val ) inline float GetSpecialSignf( float a_Val ) { - return (a_Val <= 0.f)?-1.f:1.f; + return (a_Val <= 0.f) ? -1.f : 1.f; } |