2025-06-21 20:12:15 +03:00
|
|
|
#include <BH/Math/Quat.h>
|
|
|
|
|
#include <BH/Math/Mat4f.h>
|
2025-02-02 21:40:31 +03:00
|
|
|
#include <BH/Unit.h>
|
2025-01-29 09:14:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
#define ACCEPTABLE_DELTA 0.0001f
|
|
|
|
|
|
|
|
|
|
|
2025-02-24 09:37:22 +03:00
|
|
|
BH_UNIT_TEST(QuatMat4fParity)
|
2025-02-03 08:26:10 +03:00
|
|
|
{
|
|
|
|
|
float a[16], b[16], c[4];
|
2025-02-24 09:37:22 +03:00
|
|
|
|
2025-02-03 08:26:10 +03:00
|
|
|
BH_Mat4fFromEuler(-2.7671f, -0.8324f, -0.1649f, a);
|
|
|
|
|
|
|
|
|
|
BH_Quat4fFromEuler(-2.7671f, -0.8324f, -0.1649f, c);
|
|
|
|
|
BH_VERIFY_DELTA(c[0], -0.9018f, ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(c[1], -0.0010f, ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(c[2], -0.4099f, ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(c[3], 0.1370f, ACCEPTABLE_DELTA);
|
|
|
|
|
BH_Quat4fToMat4f(c, b);
|
|
|
|
|
|
|
|
|
|
BH_VERIFY_DELTA(a[0], b[0], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[1], b[1], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[2], b[2], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[3], b[3], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[4], b[4], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[5], b[5], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[6], b[6], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[7], b[7], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[8], b[8], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[9], b[9], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[10], b[10], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[11], b[11], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[12], b[12], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[13], b[13], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[14], b[14], ACCEPTABLE_DELTA);
|
|
|
|
|
BH_VERIFY_DELTA(a[15], b[15], ACCEPTABLE_DELTA);
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-01-29 09:14:58 +03:00
|
|
|
int main(int argc, char **argv)
|
|
|
|
|
{
|
|
|
|
|
(void)argc;
|
|
|
|
|
(void)argv;
|
|
|
|
|
|
2025-02-24 09:37:22 +03:00
|
|
|
BH_UNIT_ADD(QuatMat4fParity);
|
2025-01-30 13:53:26 +03:00
|
|
|
|
|
|
|
|
return BH_UnitRun();
|
2025-01-29 09:14:58 +03:00
|
|
|
}
|