diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-29 14:25:18 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-29 14:25:18 +0100 |
| commit | 825f33efaec4ce6a8903751e836a0ea9c466ff92 (patch) | |
| tree | 3781b9d7c92a6a8111573ba4cae1c5d41435950e | |
| parent | 0fd0e771e0515693329fe5d44b839958296a10d5 (diff) | |
| download | rapier-825f33efaec4ce6a8903751e836a0ea9c466ff92.tar.gz rapier-825f33efaec4ce6a8903751e836a0ea9c466ff92.tar.bz2 rapier-825f33efaec4ce6a8903751e836a0ea9c466ff92.zip | |
Update the CHANGELOG.
| -rw-r--r-- | CHANGELOG.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index fe6e56e..e08f3b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,63 @@ +## v0.5.0 +In this release we are dropping `ncollide` and use our new crate [`parry`](https://parry.rs) +instead! This comes with a lot of new features, as well as two new crates: `rapier2d-f64` and +`rapier3d-f64` for physics simulation with 64-bits floats. + +### Added +- Added a `RAPIER.version()` function at the root of the package to retrieve the version of Rapier + as a string. + +Several geometric queries have been added to the `QueryPipeline`: +- `QueryPipeline::intersections_with_ray`: get all colliders intersecting a ray. +- `QueryPipeline::intersection_with_shape`: get one collider intersecting a shape. +- `QueryPipeline::project_point`: get the projection of a point on the closest collider. +- `QueryPipeline::intersections_with_point`: get all the colliders containing a point. +- `QueryPipeline::cast_shape`: get the first collider intersecting a shape moving linearly + (aka. sweep test). +- `QueryPipeline::intersections_with_shape`: get all the colliders intersecting a shape. + +Several new shape types are now supported: +- `RoundCuboid`, `Segment`, `Triangle`, `RoundTriangle`, `Polyline`, `ConvexPolygon` (2D only), + `RoundConvexPolygon` (2D only), `ConvexPolyhedron` (3D only), `RoundConvexPolyhedron` (3D only), + `RoundCone` (3D only). + +It is possible to build `ColliderDesc` using these new shapes: +- `ColliderBuilder::round_cuboid`, `ColliderBuilder::segment`, `ColliderBuilder::triangle`, `ColliderBuilder::round_triangle`, + `ColliderBuilder::convex_hull`, `ColliderBuilder::round_convex_hull`, `ColliderBuilder::polyline`, + `ColliderBuilder::convex_polyline` (2D only), `ColliderBuilder::round_convex_polyline` (2D only), + `ColliderBuilder::convex_mesh` (3D only),`ColliderBuilder::round_convex_mesh` (3D only), `ColliderBuilder::round_cone` (3D only). + +It is possible to specify different rules for combining friction and restitution coefficients +of the two colliders involved in a contact with: +- `ColliderDesc::friction_combine_rule`, and `ColliderDesc::restitution_combine_rule`. + +Various RigidBody-related getter and setters have been added: +- `RigidBodyBuilder::gravity_scale`, `RigidBody::gravity_scale`, `RigidBody::set_gravity_scale` to get/set the scale + factor applied to the gravity affecting a rigid-body. Setting this to 0.0 will make the rigid-body ignore gravity. +- `RigidBody::set_linear_damping` and `RigidBody::set_angular_damping` to set the linear and angular damping of + the rigid-body. +- `RigidBodyBuilder::restrict_rotations` to prevent rotations along specific coordinate axes. This replaces the three + boolean arguments previously passed to `.set_principal_angular_inertia`. + +### Breaking changes +Breaking changes related to contacts: +- The way contacts are represented changed. Refer to the documentation of `parry::query::ContactManifold`, `parry::query::TrackedContact` + and `rapier::geometry::ContactManifoldData` and `rapier::geometry::ContactData` for details. + +Breaking changes related to rigid-bodies: +- The `RigidBodyDesc.setMass` takes only one argument now. Use `RigidBodyDesc.lockTranslations` to lock the translational + motion of the rigid-body. +- The `RigidBodyDesc.setPrincipalAngularInertia` no longer have boolean parameters to lock rotations. + Use `RigidBodyDesc.lockRotations` or `RigidBodyDesc.restrictRotations` to lock the rotational motion of the rigid-body. + +Breaking changes related to colliders: +- The `Polygon` shape no longer exists. For a 2D convex polygon, use a `ConvexPolygon` instead. +- All occurrences of `Trimesh` have been replaced by `TriMesh` (note the change in case). + +Breaking changes related to events: +- Rename all occurrences of `Proximity` to `Intersection`. +- The `Proximity` enum has been removed, it's replaced by a boolean. + ## v0.4.2 - Fix a bug in angular inertia tensor computation that could cause rotations not to work properly. |
