Module Hitbox3d

type t =
  1. | Sphere of float
  2. | Box of Vec3.t
  3. | Capsule of float * float
  4. | Plane of Vec3.t * float
type placed = {
  1. shape : t;
  2. pos : Vec3.t;
  3. orientation : Quat.t;
}
val place : ?orientation:Quat.t -> Vec3.t -> t -> placed
val bounds : placed -> Vec3.t * Vec3.t
val volume : t -> float
val inertia : mass:float -> t -> Mat3.t
val corners : placed -> Vec3.t list
val face_axes : placed -> Vec3.t list
val segment : placed -> Vec3.t * Vec3.t
val support : placed -> Vec3.t -> Vec3.t
val extent : placed -> Vec3.t -> float * float