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,47 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2024 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#include "UnitTestFramework.h"
#include <Jolt/Core/BinaryHeap.h>
TEST_SUITE("BinaryHeapTest")
{
TEST_CASE("TestBinaryHeap")
{
// Add some numbers
Array<int> array;
array.reserve(1100);
for (int i = 0; i < 1000; ++i)
array.push_back(i);
// Ensure we have some duplicates
for (int i = 0; i < 1000; i += 10)
array.push_back(i);
// Shuffle the array
UnitTestRandom random(123);
std::shuffle(array.begin(), array.end(), random);
// Add the numbers to the heap
Array<int> heap;
for (int i : array)
{
heap.push_back(i);
BinaryHeapPush(heap.begin(), heap.end(), std::less<int> { });
}
// Check that the heap is sorted
int last = INT_MAX;
int seen[1000] { 0 };
while (!heap.empty())
{
BinaryHeapPop(heap.begin(), heap.end(), std::less<int> { });
int current = heap.back();
CHECK(++seen[current] <= (current % 10 == 0? 2 : 1));
heap.pop_back();
CHECK(current <= last);
last = current;
}
}
}