RustBCA
RustBCA copied to clipboard
Switch to parry2d
trafficstars
Thank you for your contribution to RustBCA!
Before submitting this PR, please make sure you have:
- [X] Opened an issue
- [X] Referenced the relevant issue number(s) below
- [X] Provided a description of the changes below
- [X] Ensured all tests pass and added any necessary tests for new code
Fixes #245 #222 #181
Description
This PR replaces dependence on geo with parry2d. This is being done for several reasons:
- geo is primarily a geospatial primitives library, not a 2d collision detection library
- RustBCA already uses parry3d for the 3d features
- geo's collision detection for polygons has a significant weak point - it does not determine the nearest point on the boundary of a polygon if the point is inside the polygon (i.e., it assumes all polygons are solid). This is the cause of issue #245
- parry2d has a built-in 2d trimesh that should be much faster than the RustBCA version
Tests
All tests run successfully using cargo test.
Notes
This initial push request retains all of geo's features and imports. Once testing is finalized, these will be removed.