Expand description
§Phys Raycast Library
A lightweight ray casting library for 3D physics shapes built on top of the phys-geom library.
This library provides ray casting functionality for basic geometric shapes commonly used in physics simulations. It’s designed to be minimal and focused, depending only on the core geometry library without requiring the full collision detection system.
§Features
- Basic Shapes: Ray casting support for sphere, cuboid, capsule, cylinder, triangle, and infinite plane
- Minimal Dependencies: Only depends on phys-geom for geometry types
- Simple API: Clean and intuitive ray casting interface
- Type Safe: Leverages Rust’s type system for safe geometric operations
§Usage
use phys_raycast::{Raycast, RaycastHitResult};
use phys_geom::{Ray, shape::Sphere, math::{Point3, Vec3}};
let sphere = Sphere::new(1.0);
let ray = Ray::new(Point3::new(-2.0, 0.0, 0.0), Vec3::x_axis());
if let Some(hit) = sphere.raycast(ray, 10.0, false) {
println!("Hit at distance: {}, normal: {:?}", hit.distance, hit.normal);
}Re-exports§
pub extern crate phys_geom as geom;
Structs§
- Ray
- A ray composed of an origin point and a unit direction vector.
- Raycast
HitResult - Result returned from
Raycast::raycast
Traits§
- Raycast
- Trait for objects that can be intersected by rays.