aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/FUNDING.yml12
-rw-r--r--.gitignore8
-rw-r--r--Cargo.toml12
-rw-r--r--LICENSE201
-rw-r--r--README.md30
-rw-r--r--build/rapier2d/Cargo.toml53
-rw-r--r--build/rapier3d/Cargo.toml53
-rw-r--r--build/rapier_testbed2d/Cargo.toml45
-rw-r--r--build/rapier_testbed3d/Cargo.toml47
-rw-r--r--examples2d/Cargo.toml27
-rw-r--r--examples2d/all_examples2.rs90
-rw-r--r--examples2d/balls2.rs68
-rw-r--r--examples2d/boxes2.rs73
-rw-r--r--examples2d/capsules2.rs76
-rw-r--r--examples2d/debug_box_ball2.rs44
-rw-r--r--examples2d/heightfield2.rs72
-rw-r--r--examples2d/joints2.rs75
-rw-r--r--examples2d/kinematic2.rs93
-rw-r--r--examples2d/pyramid2.rs60
-rw-r--r--examples2d/sensor2.rs101
-rw-r--r--examples2d/stress_joint_ball2.rs72
-rw-r--r--examples2d/stress_joint_fixed2.rs85
-rw-r--r--examples2d/stress_joint_prismatic2.rs69
-rw-r--r--examples3d/Cargo.toml27
-rw-r--r--examples3d/all_examples3.rs110
-rw-r--r--examples3d/balls3.rs29
-rw-r--r--examples3d/boxes3.rs68
-rw-r--r--examples3d/capsules3.rs69
-rw-r--r--examples3d/debug_boxes3.rs47
-rw-r--r--examples3d/debug_triangle3.rs48
-rw-r--r--examples3d/domino3.rs87
-rw-r--r--examples3d/heightfield3.rs78
-rw-r--r--examples3d/joints3.rs272
-rw-r--r--examples3d/kinematic3.rs97
-rw-r--r--examples3d/pyramid3.rs85
-rw-r--r--examples3d/sensor3.rs105
-rw-r--r--examples3d/stacks3.rs195
-rw-r--r--examples3d/stress_joint_ball3.rs70
-rw-r--r--examples3d/stress_joint_fixed3.rs92
-rw-r--r--examples3d/stress_joint_prismatic3.rs81
-rw-r--r--examples3d/stress_joint_revolute3.rs89
-rw-r--r--examples3d/stress_keva3.rs148
-rw-r--r--examples3d/trimesh3.rs88
-rw-r--r--src/counters/ccd_counters.rs49
-rw-r--r--src/counters/collision_detection_counters.rs32
-rw-r--r--src/counters/mod.rs225
-rw-r--r--src/counters/solver_counters.rs67
-rw-r--r--src/counters/stages_counters.rs48
-rw-r--r--src/counters/timer.rs53
-rw-r--r--src/data/arena.rs1159
-rw-r--r--src/data/graph.rs830
-rw-r--r--src/data/mod.rs4
-rw-r--r--src/dynamics/integration_parameters.rs207
-rw-r--r--src/dynamics/joint/ball_joint.rs34
-rw-r--r--src/dynamics/joint/fixed_joint.rs33
-rw-r--r--src/dynamics/joint/joint.rs112
-rw-r--r--src/dynamics/joint/joint_set.rs218
-rw-r--r--src/dynamics/joint/mod.rs16
-rw-r--r--src/dynamics/joint/prismatic_joint.rs193
-rw-r--r--src/dynamics/joint/revolute_joint.rs46
-rw-r--r--src/dynamics/mass_properties.rs206
-rw-r--r--src/dynamics/mass_properties_ball.rs30
-rw-r--r--src/dynamics/mass_properties_capsule.rs60
-rw-r--r--src/dynamics/mass_properties_cuboid.rs33
-rw-r--r--src/dynamics/mass_properties_polygon.rs144
-rw-r--r--src/dynamics/mod.rs30
-rw-r--r--src/dynamics/rigid_body.rs441
-rw-r--r--src/dynamics/rigid_body_set.rs518
-rw-r--r--src/dynamics/solver/categorization.rs70
-rw-r--r--src/dynamics/solver/delta_vel.rs18
-rw-r--r--src/dynamics/solver/interaction_groups.rs434
-rw-r--r--src/dynamics/solver/island_solver.rs73
-rw-r--r--src/dynamics/solver/joint_constraint/ball_position_constraint.rs165
-rw-r--r--src/dynamics/solver/joint_constraint/ball_position_constraint_wide.rs199
-rw-r--r--src/dynamics/solver/joint_constraint/ball_velocity_constraint.rs238
-rw-r--r--src/dynamics/solver/joint_constraint/ball_velocity_constraint_wide.rs329
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_position_constraint.rs139
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs370
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_velocity_constraint_wide.rs472
-rw-r--r--src/dynamics/solver/joint_constraint/joint_constraint.rs340
-rw-r--r--src/dynamics/solver/joint_constraint/joint_position_constraint.rs169
-rw-r--r--src/dynamics/solver/joint_constraint/mod.rs65
-rw-r--r--src/dynamics/solver/joint_constraint/prismatic_position_constraint.rs170
-rw-r--r--src/dynamics/solver/joint_constraint/prismatic_velocity_constraint.rs558
-rw-r--r--src/dynamics/solver/joint_constraint/prismatic_velocity_constraint_wide.rs687
-rw-r--r--src/dynamics/solver/joint_constraint/revolute_position_constraint.rs142
-rw-r--r--src/dynamics/solver/joint_constraint/revolute_velocity_constraint.rs294
-rw-r--r--src/dynamics/solver/joint_constraint/revolute_velocity_constraint_wide.rs397
-rw-r--r--src/dynamics/solver/mod.rs56
-rw-r--r--src/dynamics/solver/parallel_island_solver.rs259
-rw-r--r--src/dynamics/solver/parallel_position_solver.rs582
-rw-r--r--src/dynamics/solver/parallel_velocity_solver.rs485
-rw-r--r--src/dynamics/solver/position_constraint.rs246
-rw-r--r--src/dynamics/solver/position_constraint_wide.rs217
-rw-r--r--src/dynamics/solver/position_ground_constraint.rs189
-rw-r--r--src/dynamics/solver/position_ground_constraint_wide.rs199
-rw-r--r--src/dynamics/solver/position_solver.rs451
-rw-r--r--src/dynamics/solver/velocity_constraint.rs401
-rw-r--r--src/dynamics/solver/velocity_constraint_wide.rs344
-rw-r--r--src/dynamics/solver/velocity_ground_constraint.rs300
-rw-r--r--src/dynamics/solver/velocity_ground_constraint_wide.rs300
-rw-r--r--src/dynamics/solver/velocity_solver.rs405
-rw-r--r--src/geometry/ball.rs16
-rw-r--r--src/geometry/broad_phase.rs255
-rw-r--r--src/geometry/broad_phase_multi_sap.rs645
-rw-r--r--src/geometry/capsule.rs168
-rw-r--r--src/geometry/collider.rs373
-rw-r--r--src/geometry/collider_set.rs139
-rw-r--r--src/geometry/contact.rs485
-rw-r--r--src/geometry/contact_generator/ball_ball_contact_generator.rs98
-rw-r--r--src/geometry/contact_generator/ball_convex_contact_generator.rs85
-rw-r--r--src/geometry/contact_generator/ball_polygon_contact_generator.rs0
-rw-r--r--src/geometry/contact_generator/capsule_capsule_contact_generator.rs200
-rw-r--r--src/geometry/contact_generator/contact_dispatcher.rs127
-rw-r--r--src/geometry/contact_generator/contact_generator.rs222
-rw-r--r--src/geometry/contact_generator/cuboid_capsule_contact_generator.rs188
-rw-r--r--src/geometry/contact_generator/cuboid_cuboid_contact_generator.rs155
-rw-r--r--src/geometry/contact_generator/cuboid_polygon_contact_generator.rs0
-rw-r--r--src/geometry/contact_generator/cuboid_triangle_contact_generator.rs171
-rw-r--r--src/geometry/contact_generator/heightfield_shape_contact_generator.rs189
-rw-r--r--src/geometry/contact_generator/mod.rs71
-rw-r--r--src/geometry/contact_generator/polygon_polygon_contact_generator.rs298
-rw-r--r--src/geometry/contact_generator/trimesh_shape_contact_generator.rs194
-rw-r--r--src/geometry/contact_generator/voxels_shape_contact_generator.rs0
-rw-r--r--src/geometry/cuboid.rs234
-rw-r--r--src/geometry/cuboid_feature2d.rs128
-rw-r--r--src/geometry/cuboid_feature3d.rs516
-rw-r--r--src/geometry/interaction_graph.rs259
-rw-r--r--src/geometry/mod.rs80
-rw-r--r--src/geometry/narrow_phase.rs483
-rw-r--r--src/geometry/polygon.rs76
-rw-r--r--src/geometry/polygon_intersection.rs263
-rw-r--r--src/geometry/polyhedron_feature3d.rs284
-rw-r--r--src/geometry/proximity.rs31
-rw-r--r--src/geometry/proximity_detector/ball_ball_proximity_detector.rs68
-rw-r--r--src/geometry/proximity_detector/ball_convex_proximity_detector.rs53
-rw-r--r--src/geometry/proximity_detector/ball_polygon_proximity_detector.rs0
-rw-r--r--src/geometry/proximity_detector/cuboid_cuboid_proximity_detector.rs79
-rw-r--r--src/geometry/proximity_detector/cuboid_polygon_proximity_detector.rs0
-rw-r--r--src/geometry/proximity_detector/cuboid_triangle_proximity_detector.rs88
-rw-r--r--src/geometry/proximity_detector/mod.rs30
-rw-r--r--src/geometry/proximity_detector/polygon_polygon_proximity_detector.rs54
-rw-r--r--src/geometry/proximity_detector/proximity_detector.rs212
-rw-r--r--src/geometry/proximity_detector/proximity_dispatcher.rs136
-rw-r--r--src/geometry/proximity_detector/trimesh_shape_proximity_detector.rs133
-rw-r--r--src/geometry/proximity_detector/voxels_shape_proximity_detector.rs0
-rw-r--r--src/geometry/sat.rs294
-rw-r--r--src/geometry/triangle.rs9