tiny_libs.physics_3d
Hitbox3d
tiny_libs.ai_bots
tiny_libs.ai_decision
tiny_libs.ai_learning
tiny_libs.ai_movement
tiny_libs.ai_search
tiny_libs.audio
tiny_libs.audio_abc
tiny_libs.audio_effects
tiny_libs.audio_instruments
tiny_libs.audio_midi
tiny_libs.audio_mod
tiny_libs.audio_mpeg
tiny_libs.audio_signal
tiny_libs.audio_synthesis
tiny_libs.audio_vorbis
tiny_libs.audio_wav
tiny_libs.compression
tiny_libs.compression_brotli
tiny_libs.compression_brotli_words
tiny_libs.core
tiny_libs.crypto
tiny_libs.graphics_2d
tiny_libs.graphics_2d_geometry
tiny_libs.graphics_3d
tiny_libs.graphics_3d_geometry
tiny_libs.graphics_animation
tiny_libs.graphics_avi
tiny_libs.graphics_core
tiny_libs.graphics_fli
tiny_libs.graphics_font
tiny_libs.graphics_gif
tiny_libs.graphics_gpu
tiny_libs.graphics_ilbm
tiny_libs.graphics_images
tiny_libs.graphics_imaging
tiny_libs.graphics_jpeg
tiny_libs.graphics_movie
tiny_libs.graphics_mpeg1
tiny_libs.graphics_mpeg_system
tiny_libs.graphics_png
tiny_libs.graphics_raytrace
tiny_libs.graphics_rgba
tiny_libs.graphics_svg
tiny_libs.graphics_xpm
tiny_libs.graphics_y4m
tiny_libs.graphics_yuv
tiny_libs.gui
tiny_libs.highlight_code
tiny_libs.juice
tiny_libs.networking_mail
tiny_libs.networking_netcode
tiny_libs.networking_protocols
tiny_libs.networking_tls
tiny_libs.networking_unix
tiny_libs.physics_2d
tiny_libs.random
tiny_libs.terminal
tiny_libs.terminal_unix
type t =
| Sphere of float
| Box of Vec3.t
| Capsule of float * float
| Plane of Vec3.t * float
type placed = {
shape : t;
pos : Vec3.t;
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