Commit Graph

853 Commits

Author SHA1 Message Date
1964d3d36f replaced with bool 2025-12-04 04:52:22 +03:00
d7a009eb67 oops 2025-12-04 04:47:34 +03:00
0e03805439 added nodiscard + static 2025-12-04 04:46:00 +03:00
eafefb40ec fixed typo 2025-12-04 04:45:15 +03:00
9e4c778e8f tweak 2025-12-04 04:38:44 +03:00
0788fd6122 replaced with emplace 2025-12-03 14:11:29 +03:00
3685f13344 back to static 2025-12-03 13:34:35 +03:00
d4d8f70fff switched to shared_ptr 2025-12-03 13:30:05 +03:00
918858e255 added poly allocators 2025-12-03 09:52:53 +03:00
1aff083ef3 fixed uv type 2025-12-01 05:03:43 +03:00
6414922884 added mesh culling 2025-11-30 06:19:38 +03:00
57ba809076 Auto stash before merge of "main" and "origin/main" 2025-11-30 01:32:25 +03:00
6fd3a695cf cleaned up code 2025-11-29 22:00:07 +03:00
f6857cac90 updated read me 2025-11-29 21:45:09 +03:00
b994e47357 Merge pull request #107 from orange-cpp/feature/example_improvement
fixed somebugs, improved tests
2025-11-29 21:41:43 +03:00
82b21d0458 fixed rotation 2025-11-29 21:34:40 +03:00
daa1abc047 added rotation by pitch 2025-11-29 21:31:20 +03:00
3a66b66c6a fixed somebugs, improved tests 2025-11-29 21:24:45 +03:00
6c89c72041 Merge pull request #106 from orange-cpp/feature/mesh_upgrade
Feature/mesh upgrade
2025-11-29 16:55:31 +03:00
e54d5e7388 changed ebo type 2025-11-29 16:49:19 +03:00
9a89e2467e fix 2025-11-29 16:37:30 +03:00
48bf06f69c refactored using stuff 2025-11-29 16:35:43 +03:00
8feddf872a added conecpt to method 2025-11-29 16:33:31 +03:00
99ebdeb188 added template arg to Vertex struct 2025-11-29 16:31:24 +03:00
ba267cbcb8 improved mesh class 2025-11-29 16:28:06 +03:00
b98093b244 removed newline v4.4.0 2025-11-14 18:20:25 +03:00
58392144ca Update version to 4.4.0 2025-11-14 14:35:58 +03:00
f1394a24e5 Bump version from 4.2.0 to 4.4.0 2025-11-14 12:12:23 +03:00
e396e00016 Revise Code of Conduct with comprehensive updates
Updated the Code of Conduct to include a universal declaration, preamble, and detailed articles outlining community rights, responsibilities, and enforcement strategies.
2025-11-14 00:30:55 +03:00
0dc4890107 Updates theme with custom link styles
Adds custom CSS to style links and the navbar,
improving the visual appearance of the documentation.

Disables unnecessary code inspection warnings to reduce clutter.
2025-11-13 23:47:17 +03:00
dd8c41b19f Merge pull request #105 from orange-cpp/feature/epa_improvement
Feature/epa improvement
2025-11-13 22:13:26 +03:00
0283935918 added std::optional 2025-11-13 21:25:45 +03:00
12f888b8d4 Calculates penetration vector for EPA algorithm
Adds `penetration_vector` to the `epa_result` struct to represent the direction and magnitude of penetration.

This allows for more accurate collision response calculations and simplifies access to penetration information.

Updates both the early-exit and iterative EPA calculations within `epa_algorithm.hpp` to compute and store the penetration vector, factoring in the relative origin of the colliding meshes.
2025-11-13 21:19:09 +03:00
a5b24f90dc Merge pull request #104 from orange-cpp/copilot/update-docs-new-classes
Add documentation for GJK/EPA collision detection and mesh primitives
2025-11-13 19:00:11 +03:00
copilot-swe-agent[bot]
df4947ceb3 Update API overview with new collision detection and mesh classes
Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com>
2025-11-13 15:21:37 +00:00
copilot-swe-agent[bot]
190a8bf91e Add documentation for collision detection and mesh classes
Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com>
2025-11-13 15:19:36 +00:00
copilot-swe-agent[bot]
d118e88f6b Initial plan 2025-11-13 15:10:10 +00:00
1553139a80 Merge pull request #103 from orange-cpp/feature/epa_algorithm
Feature/epa algorithm
2025-11-13 18:08:18 +03:00
798caa2b0d made ref 2025-11-13 17:34:39 +03:00
88d4447b20 add another test 2025-11-13 17:22:54 +03:00
ee458a24f7 fixed formating 2025-11-13 16:56:48 +03:00
fa91f21e39 Refactors collision detection with GJK and EPA
This commit refactors the collision detection pipeline to utilize a more standard GJK algorithm and simplifies the EPA implementation.

Removes the custom `GjkAlgorithmWithSimplex` in favor of the standalone `GjkAlgorithm`. This streamlines the collision detection process and enhances code clarity.

Updates unit tests to align with the new GJK implementation, ensuring continued functionality and correctness.
2025-11-13 16:39:26 +03:00
873bdd2036 Improves EPA test coverage
Adds a comprehensive unit test for the EPA algorithm,
validating collision detection, depth calculation, and
separation axis determination with a cube overlap scenario.

Refactors the test for clarity and robustness.
2025-11-13 16:34:14 +03:00
20aecac2ae Refactors vertex parameter name
Updates the `make_face` function to use `vertexes` instead of `verts` for clarity and consistency in naming conventions.
2025-11-13 16:16:23 +03:00
09fd92ccad Refactor EPA algorithm for clarity
Improves code organization and readability within the EPA algorithm implementation.

Changes include renaming variables for better semantic meaning (e.g., `verts` to `vertexes`), adding `final` specifiers to structs for clarity, and enhancing function signatures with `[[nodiscard]]` where appropriate.

These refactorings aim to enhance maintainability and understanding of the code without altering its core functionality.
2025-11-13 16:15:45 +03:00
2b21caf58f Refactors face initialization
Replaces `push_back` with `emplace_back` when initializing faces in the EPA algorithm. This avoids unnecessary copying and improves performance during face creation.
2025-11-13 16:07:57 +03:00
40e26be72e Refactors EPA algorithm loop
Replaces the `for(;;)` loop in the EPA algorithm with a `while(true)` loop for improved readability and clarity.

This change enhances the maintainability of the code without altering its functionality.
2025-11-13 16:06:18 +03:00
2699053102 fixed formating 2025-11-13 16:01:42 +03:00
06b597f37c added epa 2025-11-13 15:57:38 +03:00
6d3b543648 Refactors triangle calculations for generic vectors
Updates the `Triangle` class to use a generic `Vector` type instead of `Vector3`, enhancing flexibility and reusability.

Changes include updating relevant function return types to use `Vector::ContainedType` and adapting length and distance calculations accordingly.

This refactoring supports the ongoing work on the EPA algorithm (feature/epa_algorithm) by providing a more adaptable foundation for geometric calculations.
2025-11-13 15:29:10 +03:00