| Crates.io | collision-detection |
| lib.rs | collision-detection |
| version | 0.3.0 |
| created_at | 2022-01-09 10:12:35.119062+00 |
| updated_at | 2025-03-29 15:59:22.643872+00 |
| description | A generic collision detection library based on the `collide` crate |
| homepage | |
| repository | https://gitlab.com/porky11/collision-detection |
| max_upload_size | |
| id | 510751 |
| size | 11,466 |
Efficient collision management system built on the collide crate.
use collision_manager::CollisionManager;
use collide::Collider;
struct Sphere { ... }
impl Collider for Sphere { ... }
let mut manager = CollisionManager::<Sphere, u32>::new();
// Add colliders with associated IDs
let player_id = manager.insert_collider(Sphere::new(1.0), 1);
let enemy_id = manager.insert_collider(Sphere::new(1.0), 2);
// Check collisions
if manager.check_collision(&Sphere::new(1.0)) {
println!("Collision detected!");
}
// Compute all internal collisions
let collisions = manager.compute_inner_collisions();
// Process collision results
for (obj_id, collisions) in collisions.indexed() {
for collision in collisions {
println!("Object {} collided with {}", obj_id, collision.index);
handle_collision(collision.info.vector);
}
}