phys-raycast 2.0.0-beta.7

Ray casting functionality for 3D physics shapes
Documentation

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);
}