aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-27 17:48:21 +0100
committerCrozet Sébastien <developer@crozet.re>2020-10-27 17:52:08 +0100
commit4b8242b9c267a9412c88793575db37f79c544ca2 (patch)
tree67456b24b452cfd42132a42fbd3e809e576f89ad
parente279c7050cd55426cb28c8c9fb2ac9d4f0205d7c (diff)
downloadrapier-0.3.0.tar.gz
rapier-0.3.0.tar.bz2
rapier-0.3.0.zip
Release v0.3.0v0.3.0
-rw-r--r--CHANGELOG13
-rw-r--r--build/rapier2d/Cargo.toml2
-rw-r--r--build/rapier3d/Cargo.toml2
-rw-r--r--build/rapier_testbed2d/Cargo.toml4
-rw-r--r--build/rapier_testbed3d/Cargo.toml4
5 files changed, 19 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 06eea7d..aba1ac2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,16 @@
+## v0.3.0
+- Collider shapes are now trait-objects instead of a `Shape` enum.
+- Add a user-defined `u128` to each colliders and rigid-bodies for storing user data.
+- Add the support for `Cylinder`, `RoundCylinder`, and `Cone` shapes.
+- Added the support for collision filtering based on bit masks (often known as collision groups, collision masks, or
+ collision layers in other physics engines). Each collider has two groups. Their `collision_groups` is used for filtering
+ what pair of colliders should have their contacts computed by the narrow-phase. Their `solver_groups` is used for filtering
+ what pair of colliders should have their contact forces computed by the constraints solver.
+- Collision groups can also be used to filter what collider should be hit by a ray-cast performed by the `QueryPipeline`.
+- Added collision filters based on user-defined trait-objects. This adds two traits `ContactPairFilter` and
+ `ProximityPairFilter` that allows user-defined logic for determining if two colliders/sensors are allowed to interact.
+- The `PhysicsPipeline::step` method now takes two additional arguments: the optional `&ContactPairFilter` and `&ProximityPairFilter`
+for filtering contact and proximity pairs.
## v0.2.1
- Fix panic in TriMesh construction and QueryPipeline update caused by a stack overflow or a subtraction underflow.
diff --git a/build/rapier2d/Cargo.toml b/build/rapier2d/Cargo.toml
index 34809f2..d963079 100644
--- a/build/rapier2d/Cargo.toml
+++ b/build/rapier2d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier2d"
-version = "0.2.1"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "2-dimensional physics engine in Rust."
documentation = "http://docs.rs/rapier2d"
diff --git a/build/rapier3d/Cargo.toml b/build/rapier3d/Cargo.toml
index 5cc1de9..f5c2fe4 100644
--- a/build/rapier3d/Cargo.toml
+++ b/build/rapier3d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier3d"
-version = "0.2.1"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "3-dimensional physics engine in Rust."
documentation = "http://docs.rs/rapier3d"
diff --git a/build/rapier_testbed2d/Cargo.toml b/build/rapier_testbed2d/Cargo.toml
index 87610c3..08c0893 100644
--- a/build/rapier_testbed2d/Cargo.toml
+++ b/build/rapier_testbed2d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier_testbed2d"
-version = "0.2.0"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "Testbed for the 2-dimensional physics engine in Rust."
homepage = "http://rapier.org"
@@ -42,5 +42,5 @@ md5 = "0.7"
[dependencies.rapier2d]
path = "../rapier2d"
-version = "0.2"
+version = "0.3"
features = [ "serde-serialize" ]
diff --git a/build/rapier_testbed3d/Cargo.toml b/build/rapier_testbed3d/Cargo.toml
index e99d741..7fa01d7 100644
--- a/build/rapier_testbed3d/Cargo.toml
+++ b/build/rapier_testbed3d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier_testbed3d"
-version = "0.2.0"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "Testbed for the 3-dimensional physics engine in Rust."
homepage = "http://rapier.org"
@@ -44,5 +44,5 @@ serde = { version = "1", features = [ "derive" ] }
[dependencies.rapier3d]
path = "../rapier3d"
-version = "0.2"
+version = "0.3"
features = [ "serde-serialize" ]