Ajout de Jolt Physics + 1ere version des factory entitecomposants - camera, transform, rigidbody, collider, renderer

This commit is contained in:
Tom Ray
2026-03-22 00:28:03 +01:00
parent 6695d46bcd
commit 48348936a8
1147 changed files with 214331 additions and 353 deletions

View File

@@ -0,0 +1,102 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#include "UnitTestFramework.h"
#include <Jolt/Math/Vector.h>
TEST_SUITE("VectorTests")
{
TEST_CASE("TestVectorEquals")
{
Vector<3> v1;
v1[0] = 1;
v1[1] = 2;
v1[2] = 3;
Vector<3> v2;
v2[0] = 1;
v2[1] = 2;
v2[2] = 3;
Vector<3> v3;
v3[0] = 1;
v3[1] = 5;
v3[2] = 3;
CHECK(v1 == v2);
CHECK(!(v1 != v2));
CHECK(v1 != v3);
CHECK(!(v1 == v3));
}
TEST_CASE("TestVectorStream")
{
Vector<3> v1;
v1[0] = 1;
v1[1] = 2;
v1[2] = 3;
std::stringstream ss;
ss << v1;
CHECK(ss.str() == "[1, 2, 3]");
}
TEST_CASE("TestVectorMultiplyFloat")
{
Vector<5> v;
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
Vector<5> v2 = v * 2;
CHECK(v2[0] == 2.0f);
CHECK(v2[1] == 4.0f);
CHECK(v2[2] == 6.0f);
CHECK(v2[3] == 8.0f);
CHECK(v2[4] == 10.0f);
}
TEST_CASE("TestVectorAdd")
{
Vector<5> v1 = Vector<5>::sZero();
Vector<5> v2 = Vector<5>::sZero();
v1[0] = 1;
v2[0] = 2;
v1[4] = 5;
Vector<5> v3 = v1 + v2;
CHECK(v3[0] == 3.0f);
CHECK(v3[1] == 0.0f);
CHECK(v3[2] == 0.0f);
CHECK(v3[3] == 0.0f);
CHECK(v3[4] == 5.0f);
}
TEST_CASE("TestVectorNegate")
{
Vector<5> v;
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
Vector<5> v2 = -v;
CHECK(v2[0] == -1.0f);
CHECK(v2[1] == -2.0f);
CHECK(v2[2] == -3.0f);
CHECK(v2[3] == -4.0f);
CHECK(v2[4] == -5.0f);
}
TEST_CASE("TestVectorLength")
{
Vector<5> v;
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
CHECK(v.LengthSq() == float(1 + 4 + 9 + 16 + 25));
}
}