REVIEWED: Formatting and raymath version #4385

This commit is contained in:
Ray 2024-10-21 16:25:45 +02:00
parent 72f8c354b0
commit 7601468211

View file

@ -1,6 +1,6 @@
/********************************************************************************************** /**********************************************************************************************
* *
* raymath v1.5 - Math functions to work with Vector2, Vector3, Matrix and Quaternions * raymath v2.0 - Math functions to work with Vector2, Vector3, Matrix and Quaternions
* *
* CONVENTIONS: * CONVENTIONS:
* - Matrix structure is defined as row-major (memory layout) but parameters naming AND all * - Matrix structure is defined as row-major (memory layout) but parameters naming AND all
@ -12,7 +12,7 @@
* - Functions are always self-contained, no function use another raymath function inside, * - Functions are always self-contained, no function use another raymath function inside,
* required code is directly re-implemented inside * required code is directly re-implemented inside
* - Functions input parameters are always received by value (2 unavoidable exceptions) * - Functions input parameters are always received by value (2 unavoidable exceptions)
* - Functions use always a "result" variable for return * - Functions use always a "result" variable for return (except C++ operators)
* - Functions are always defined inline * - Functions are always defined inline
* - Angles are always in radians (DEG2RAD/RAD2DEG macros provided for convenience) * - Angles are always in radians (DEG2RAD/RAD2DEG macros provided for convenience)
* - No compound literals used to make sure libray is compatible with C++ * - No compound literals used to make sure libray is compatible with C++
@ -27,7 +27,7 @@
* Define static inline functions code, so #include header suffices for use. * Define static inline functions code, so #include header suffices for use.
* This may use up lots of memory. * This may use up lots of memory.
* *
* #define RAYMATH_DISABLE_OPERATORS * #define RAYMATH_DISABLE_CPP_OPERATORS
* Disables C++ operator overloads for raymath types. * Disables C++ operator overloads for raymath types.
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
@ -2582,12 +2582,12 @@ RMAPI void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotatio
} }
} }
#if defined(__cplusplus) && !defined(RAYMATH_DISABLE_CPP_OPERATORS)
// optional C++ math operators // Optional C++ math operators
// define RAYLIB_DISABLE_VECTOR_OPERATORS to disable //-------------------------------------------------------------------------------
#if defined(__cplusplus) && !defined(RAYMATH_DISABLE_OPERATORS)
//------------------Vector2-----------------// // Vector2 operators
static constexpr Vector2 Vector2Zeros = { 0, 0 }; static constexpr Vector2 Vector2Zeros = { 0, 0 };
static constexpr Vector2 Vector2Ones = { 1, 1 }; static constexpr Vector2 Vector2Ones = { 1, 1 };
static constexpr Vector2 Vector2UnitX = { 1, 0 }; static constexpr Vector2 Vector2UnitX = { 1, 0 };
@ -2680,7 +2680,7 @@ inline bool operator != (const Vector2& lhs, const Vector2& rhs)
return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y); return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y);
} }
//------------------Vector3-----------------// // Vector3 operators
static constexpr Vector3 Vector3Zeros = { 0, 0, 0 }; static constexpr Vector3 Vector3Zeros = { 0, 0, 0 };
static constexpr Vector3 Vector3Ones = { 1, 1, 1 }; static constexpr Vector3 Vector3Ones = { 1, 1, 1 };
static constexpr Vector3 Vector3UnitX = { 1, 0, 0 }; static constexpr Vector3 Vector3UnitX = { 1, 0, 0 };
@ -2774,7 +2774,7 @@ inline bool operator != (const Vector3& lhs, const Vector3& rhs)
return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y) || !FloatEquals(lhs.z, rhs.z); return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y) || !FloatEquals(lhs.z, rhs.z);
} }
//------------------Vector4-----------------// // Vector4 operators
static constexpr Vector4 Vector4Zeros = { 0, 0, 0, 0 }; static constexpr Vector4 Vector4Zeros = { 0, 0, 0, 0 };
static constexpr Vector4 Vector4Ones = { 1, 1, 1, 1 }; static constexpr Vector4 Vector4Ones = { 1, 1, 1, 1 };
static constexpr Vector4 Vector4UnitX = { 1, 0, 0, 0 }; static constexpr Vector4 Vector4UnitX = { 1, 0, 0, 0 };
@ -2858,7 +2858,7 @@ inline bool operator != (const Vector4& lhs, const Vector4& rhs)
return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y) || !FloatEquals(lhs.z, rhs.z) || !FloatEquals(lhs.w, rhs.w); return !FloatEquals(lhs.x, rhs.x) || !FloatEquals(lhs.y, rhs.y) || !FloatEquals(lhs.z, rhs.z) || !FloatEquals(lhs.w, rhs.w);
} }
//------------------Quaternion-----------------// // Quaternion operators
static constexpr Quaternion QuaternionZeros = { 0, 0, 0, 0 }; static constexpr Quaternion QuaternionZeros = { 0, 0, 0, 0 };
static constexpr Quaternion QuaternionOnes = { 1, 1, 1, 1 }; static constexpr Quaternion QuaternionOnes = { 1, 1, 1, 1 };
static constexpr Quaternion QuaternionUnitX = { 0, 0, 0, 1 }; static constexpr Quaternion QuaternionUnitX = { 0, 0, 0, 1 };
@ -2895,6 +2895,8 @@ inline const Quaternion& operator *= (Quaternion& lhs, const Matrix& rhs)
lhs = QuaternionTransform(lhs, rhs); lhs = QuaternionTransform(lhs, rhs);
return lhs; return lhs;
} }
//-------------------------------------------------------------------------------
#endif // C++ operators #endif // C++ operators
#endif // RAYMATH_H #endif // RAYMATH_H