Skip to content

Conversation

@zfergus
Copy link
Member

@zfergus zfergus commented Feb 9, 2025

Description

  • Added PyBroadPhase and PyNarrowPhaseCCD classes to wrap the BroadPhase and NarrowPhaseCCD classes, respectively, allowing for custom implementations of these classes in Python.
  • Added new constructors to candidate classes (EdgeEdgeCandidate, EdgeFaceCandidate, EdgeVertexCandidate, FaceFaceCandidate, FaceVertexCandidate, VertexVertexCandidate) that accept tuples for easier initialization.
  • Added new tests for candidate generation and custom collision detection phases (test_candidates, test_custom_ccd, test_custom_broad_phase).
  • Included a call to std::atexit to reset the thread limiter upon program exit to ensure proper cleanup.

⚠️ Python NarrowPhaseCCD implementations will not work with multi-threading because of GIL locking.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which improves existing functionality)

How Has This Been Tested?

New Python tests.

Checklist

  • I have followed the project style guide
  • My code follows the clang-format style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@zfergus zfergus changed the title Python/polymorphism Python BroadPhase Feb 9, 2025
@zfergus zfergus added this to the v1.4.0 milestone Feb 9, 2025
@zfergus zfergus added bug Something isn't working enhancement New feature or request labels Feb 9, 2025
@zfergus zfergus merged commit 44ad8a7 into main Feb 9, 2025
23 checks passed
@zfergus zfergus deleted the python/polymorphism branch February 9, 2025 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants