//! Ray-casting related definitions and implementations. #[doc(inline)] pub use self::ray::{Ray, RayCast, RayIntersection}; pub use self::ray_plane::plane_toi_with_ray; pub use self::ray_triangle::triangle_ray_intersection; pub use self::ray_support_map::implicit_toi_and_normal_with_ray; pub use self::ray_ball::ball_toi_with_ray; pub use self::ray_bvt::{RayInterferencesCollector, RayIntersectionCostFn}; use na::{Point2, Point3, Vector2, Vector3}; #[doc(hidden)] pub mod ray; mod ray_plane; mod ray_ball; mod ray_cuboid; mod ray_aabb; mod ray_bounding_sphere; mod ray_support_map; mod ray_triangle; mod ray_compound; mod ray_mesh; mod ray_shape; mod ray_bvt; /* * * Aliases. * */ /// A 3D ray. pub type Ray3 = Ray>; /// A 2D ray. pub type Ray2 = Ray>; /// A 3D ray intersection. pub type RayIntersection3 = RayIntersection>; /// A 2D ray intersection. pub type RayIntersection2 = RayIntersection>;