Commit Graph

97 Commits

Author SHA1 Message Date
14fa810ecb Implements angle class with normalization
Adds an angle class with support for different normalization
and clamping strategies. Includes trigonometric functions and
arithmetic operators. Introduces unit tests to verify correct
functionality.

Disables unity builds to address a compilation issue.
2025-09-08 20:15:59 +03:00
9c11551c9a Removes deprecated Matrix class
Removes the deprecated `Matrix` class and its associated source files and unit tests.

This change is to ensure code cleanliness and prevent accidental usage of the slow and outdated `Matrix` class.
The `Mat` class should be used instead.
2025-09-08 19:56:04 +03:00
d74c66990a Refactors: Moves linear algebra to new directory
Moves linear algebra headers to a new subdirectory to improve project structure.

Updates includes to reflect the directory change.
Adds vcpkg to the tracked repositories.
2025-08-31 23:36:05 +03:00
115b5a3471 Adds std::format support for math types
Adds `std::formatter` specializations for `Mat`, `Vector2`, `Vector3`, and `Vector4` types, enabling the use of `std::format` for these types.

This simplifies formatting and printing of these mathematical objects, improving code readability and consistency.

Also adds a hash function specialization for Vector3.
2025-08-26 12:22:33 +03:00
83d3cc099f Improves test accuracy and adds .gitignore entry
Updates unit tests to include more accurate assertions for camera projections.

Adds .idea/workspace.xml to .gitignore to prevent tracking local IDE settings.

Refactors some test fixture class names for consistency.
2025-08-21 00:30:05 +03:00
2d9ed4cfc8 Configures project IDE settings and improves gitignore
Adds project-specific IDE settings to improve code style consistency and development environment.

Removes the .idea directory from the .gitignore file, as these files are now intended to be part of the project for consistent IDE configuration across contributors.
2025-08-21 00:11:37 +03:00
f277b1038c Adds comparison operators to Vector types
Adds less than, greater than, less than or equal, and greater than or equal operators to the Vector2, Vector3 and Vector4 classes.
The comparison is based on the lengths of the vectors.

Adds corresponding unit tests.
2025-08-12 08:54:33 +03:00
1aa62cb396 Enables legacy code compilation
The changes encapsulate the matrix tests within an `#ifdef` block, allowing conditional compilation based on whether `OMATH_ENABLE_LEGACY` is defined. This enables the legacy code to be compiled only when needed.
2025-07-15 11:51:14 +03:00
647cf02a38 Renames test fixture for clarity.
Updates the name of the test fixture from "lline_tracer_fixture" to "line_tracer_fixture" for improved readability and consistency in the test code.
2025-07-07 08:28:29 +03:00
4be2986681 Fixes potential compile error
Corrects the usage of `At` method within the unit tests to `at` to resolve a potential compile error due to incorrect case sensitivity.
2025-07-07 08:18:00 +03:00
06d9b4c910 fixed naming in tests 2025-07-07 08:02:35 +03:00
b5e788385d fixed style 2025-05-03 20:38:58 +03:00
df6d75e554 changed code style 2025-05-03 20:31:59 +03:00
a41526c494 style fix 2025-04-29 20:52:41 +03:00
a0d1dc4313 added test case 2025-04-29 20:49:59 +03:00
4615769682 added additional methods 2025-04-29 20:10:17 +03:00
9c934c5d9c improved tests 2025-04-18 16:36:22 +03:00
Vladislav Alpatov
f8202b116d improved line tracer 2025-04-18 16:00:23 +03:00
0ce30a7038 added new build option 2025-04-18 00:51:07 +03:00
492ddfd566 added box 2025-04-18 00:43:46 +03:00
14acebad5f fixed tests 2025-04-12 00:04:07 +03:00
3e75d32f59 fixed style 2025-03-29 04:00:35 +03:00
e46067b0b9 fixed tests includes 2025-03-21 04:58:28 +03:00
c7dda0ff10 changed source files naming 2025-03-21 04:30:17 +03:00
Vladislav Alpatov
b9ac44a901 renamed headers 2025-03-21 04:17:42 +03:00
f85243e892 improved print method 2025-03-19 00:56:56 +03:00
f5c271cfa6 changed naming of engines section 2025-03-17 05:27:00 +03:00
Vladislav Alpatov
6d0d267743 now template 2025-03-01 21:11:46 +03:00
f21d29c6c2 added legacy impl 2025-02-23 10:10:35 +03:00
28a35d5bc9 added more classes 2025-02-23 09:57:29 +03:00
5639cd0eb5 added AVX2 2025-02-22 23:34:45 +03:00
96e4e1c9d6 added new method added concept for mat type 2025-02-16 10:06:04 +03:00
835fd110ba fix 2025-01-06 05:15:12 +03:00
29629a737d added some methods 2025-01-06 05:08:32 +03:00
6a324e8c0e improvement 2025-01-06 04:42:43 +03:00
dc0bca14c5 added method + tests 2025-01-02 12:52:34 +03:00
af880be056 added methods 2024-12-23 15:34:38 +03:00
2b9575311e added operator for matrix 2024-12-21 19:32:09 +03:00
e497308349 added operator square brackets 2024-12-21 19:29:33 +03:00
ce9da76413 removed useless stuff 2024-12-16 12:31:56 +03:00
ecdd9ecdd6 improved some code 2024-12-08 05:19:49 +03:00
0afa20b4e5 refactored camera 2024-12-04 04:58:29 +03:00
5473515ffd refactored some stuff 2024-12-01 14:06:52 +03:00
46b4eb9151 huge improvement 2024-12-01 03:51:40 +03:00
1fe5e6e276 added new class 2024-11-30 13:54:06 +03:00
a33ee638b9 added more unit tests 2024-11-30 03:37:25 +03:00
6a9a51b39c refactored tests 2024-11-27 19:36:28 +03:00