Commit graph

31 commits

Author SHA1 Message Date
f3173d1bbf Change API to avoid using pointers
Fixes #1 .
2024-05-07 14:57:33 +09:00
b40a434d2a Fix UnitTest for checking combined AABB 2024-05-06 15:02:21 +09:00
1d44827f96 Add combine AABB function
New function that creates a new AABB that encompasses the two given
AABBs.
2024-05-06 14:28:23 +09:00
56a4c0783b Impl Sphere/GenericBox to AABB 2024-05-06 14:11:41 +09:00
82d4613b93 Refactoring using std::array not std::vector
Getting corners of a box will always return 8 Vec3's, so the return type
was changed from std::vector to std::array.
2024-05-06 13:51:02 +09:00
e0bd54742d Add Scale Mat4 creation function
Also added some relevant UnitTests.
2024-05-06 11:30:33 +09:00
a0b41ba274 Minor refactoring
Instead of passing ptr + size to a span, pass a 1-size array that is
automatically coerced into a span (when calling Get_Box_MinMax(...)).
2024-05-06 11:24:11 +09:00
8378707f21 Minor refactoring
All checks were successful
Run UnitTest / build-and-run-UnitTest (push) Successful in 4s
2024-05-03 18:09:58 +09:00
376ad44e67 Use std::span instead of ptr + size in MinMax fn
Note that std::span requires C++20.
2024-05-03 17:54:55 +09:00
9e8c5f0c39 ret std::array not std::vector in get-box-normals
"Get Box Normals" function always returns three vectors, so use
std::array instead of std::vector.

Minor changes related to usage of this function.
2024-05-03 17:40:21 +09:00
43ade068c9 Fix internal getting-normals function
Translation could have caused errors getting the three normals for the
sides of a box. The internal normals-fetching function was therefore
made more robust.
2024-05-02 13:13:43 +09:00
22f7663f38 Fix SC_SACD_Translate_Mat4(...)
Translation Mat4 was missing a "1" in the first element.
2024-05-02 13:12:28 +09:00
7b9f25ca5c Add check in Sphere/Box collision for same center 2024-05-02 12:32:18 +09:00
3d91dfdff3 Add some doc comments to header 2024-05-01 13:38:45 +09:00
2dcb33f39f Add default constructor for SC_SACD_Generic_Box 2024-05-01 13:35:33 +09:00
2f26496155 Make UnitTest return non-zero on any test failure 2024-04-30 14:01:21 +09:00
097661346d Replace xyz-axis with Mat4 in GenericBox 2024-04-30 14:00:32 +09:00
cca3880bed Minor fixes to doc/comments in header 2024-04-30 13:40:07 +09:00
ecf5ce1745 Add Mat4 translation function
Implemented creating a Mat4 that does translation.
2024-04-29 14:09:49 +09:00
954c48f6f9 Change Mat3 to Mat4 2024-04-29 13:39:59 +09:00
de126aa150 Matrix/Vector multiplication and changes
Change Mat3 values to column-major (I think?) order.

Add Matrix/Matrix multiplication and tweak Matrix/Vector multiplication.

Fix Matrix rotation values since Mat3 representation changed.

Added more UnitTest tests.
2024-04-29 13:23:47 +09:00
2cffea2604 Add more testing to UnitTest 2024-04-29 13:23:47 +09:00
a194e71d94 Impl Sphere/Generic_Box collision checking 2024-04-29 13:23:47 +09:00
39593ad996 Fix Sphere/AABB collision 2024-04-29 13:23:47 +09:00
919d931b4e Impl Sphere/Sphere and Sphere/AABB collision
TODO: Impl Sphere/Generic-Box collision
2024-04-29 13:23:47 +09:00
2c44fccbb7 Rename lib, rename sources, set up cmake install 2024-04-26 15:52:16 +09:00
01c56d8d4c Impl Generic_Box_Collision
Also added some helpers for use in Generic_Box_Collision.
2024-04-26 15:44:24 +09:00
9a5634f0da Add simple UnitTest that tests AABB_Box collision 2024-04-26 13:27:03 +09:00
3664e1734b Tweak to representation of box coordinates
Previous implementation assumed coords was a corner of the box. This
changes the representation for the coords to denote the center of the
box.
2024-04-26 13:13:59 +09:00
4a1c5530a5 Work
Implement helper functions like dot-product, cross-product, and
vec3-rotation. Implement AABB collision.

TODO:
  Implement Generic Box collision (not axis-aligned boxes).
2024-04-26 12:28:12 +09:00
6f5dbaaa72 Init commit skeleton project 2024-04-26 11:43:38 +09:00