Expand description
§SDK Collision Detection API
Ergonomic Rust functions for 2D collision detection. Thin wrappers over
crate::ecs::collision – pure math, no engine state required.
§Example
use goud_engine::sdk::collision::{circle_circle, point_in_rect, distance};
use goud_engine::core::math::Vec2;
if let Some(contact) = circle_circle(
Vec2::new(0.0, 0.0), 1.0,
Vec2::new(1.5, 0.0), 1.0,
) {
println!("Collision! Penetration: {}", contact.penetration);
}
assert!(point_in_rect(Vec2::new(5.0, 5.0), Vec2::new(0.0, 0.0), Vec2::new(10.0, 10.0)));
assert!((distance(Vec2::new(0.0, 0.0), Vec2::new(3.0, 4.0)) - 5.0).abs() < 0.001);Structs§
- Collision
- Zero-sized type that hosts collision detection functions.
- Collision
Response - Collision response configuration for impulse resolution.
- Contact
- Contact information from a collision.
Functions§
- aabb_
aabb - Tests collision between two axis-aligned bounding boxes.
- aabb_
overlap - Fast boolean overlap test for two AABBs using min/max corners.
- circle_
aabb - Tests collision between a circle and an axis-aligned bounding box.
- circle_
circle - Tests collision between two circles (fastest collision test).
- circle_
overlap - Fast boolean overlap test for two circles.
- distance
- Returns the Euclidean distance between two points.
- distance_
squared - Returns the squared Euclidean distance between two points.
- point_
in_ circle - Checks whether a point lies inside a circle.
- point_
in_ rect - Checks whether a point lies inside a rectangle.