1pub mod oxirs_adapter;
30pub use oxirs_adapter::{
31 BodyHandle, BodyRigMapper, ColliderShape, ContactPair as OxiRsContactPair, OxiRsConfig,
32 OxiRsWorld, RayCastHit, RigidBodyDef,
33};
34
35pub mod cloth;
36pub mod joint_limits;
37pub mod sampling;
38pub mod self_intersection;
39pub mod soft_body_v2;
40pub use cloth::{ClothParticle, ClothSim, Spring, SpringKind};
41pub mod material;
42pub use material::{ClothMaterial, ClothStack};
43pub mod hair;
44pub use hair::{HairConfig, HairStrand, HairSystem};
45pub mod collision;
46pub use collision::{
47 aabb_aabb, aabb_plane, capsule_capsule, capsule_plane, capsule_sphere, closest_point_on_aabb,
48 closest_point_on_segment, resolve_contact, sphere_aabb, sphere_plane, sphere_sphere,
49 sq_dist_point_segment, Capsule, CollisionAabb, CollisionPlane, Contact, Sphere,
50};
51pub mod rig;
52pub use rig::{build_rig, CapsuleChain, PhysicsRig, RigJoint};
53
54pub mod constraint;
55pub use constraint::{
56 apply_bend_constraint, apply_distance_constraint, apply_volume_constraint, constraint_energy,
57 tet_volume, BendConstraint, ConstraintKind, DistanceConstraint, VolumeConstraint,
58};
59pub mod contact_solver;
60pub use contact_solver::{
61 contact_energy, detect_sphere_contacts, resolve_contacts, Contact as SolverContact,
62 ContactSolverConfig,
63};
64pub mod soft_body;
65pub use soft_body::{build_tet_edges, make_cube_soft_body, SoftBody, Tetrahedron};
66pub mod aerodynamics;
67pub mod garment_fit;
68pub mod garment_fit_v2;
69pub mod sdf_gen;
70pub mod self_collision;
71pub mod wind_force;
72pub use aerodynamics::{
73 apply_aero_to_particles, compute_aero_force, drag_force_magnitude, reynolds_number,
74 stokes_drag, terminal_velocity, AeroConfig, AeroForce,
75};
76pub use garment_fit::{
77 fit_garment_to_proxies, garment_clearance_stats, point_to_capsule_sdf, point_to_sphere_sdf,
78 push_out_of_capsule, spring_pull, GarmentFitConfig, GarmentFitResult, GarmentVertex,
79};
80pub use wind_force::{
81 apply_wind_to_cloth, dynamic_pressure, value_noise_3d, wind_force_on_face, wind_speed_beaufort,
82 WindConfig, WindField, WindSample,
83};
84
85pub mod proxy_types;
86pub use proxy_types::{
87 proxies_from_json, proxies_to_json, BodyProxies, BoxProxy, CapsuleProxy, SphereProxy,
88};
89
90pub mod proxy_gen;
91pub use proxy_gen::{
92 generate_fitted_proxies, generate_proxies, proxies_from_measurements, voxelize_to_proxies,
93 BODY_PART_BANDS,
94};
95
96pub mod proxy_tests;
97
98pub mod modules_a;
99pub use modules_a::*;
100
101pub mod modules_b;
102pub use modules_b::*;
103
104pub mod modules_c;
105pub use modules_c::*;
106
107pub mod modules_d;
108pub use modules_d::*;
109
110pub mod modules_e;
111pub use modules_e::*;
112
113pub mod modules_f;
114pub use modules_f::*;
115
116pub mod modules_g;
117pub use modules_g::*;