Release v0.24.0 (#820)
This commit is contained in:
@@ -1,9 +1,13 @@
|
|||||||
## Unreleased
|
## v0.24.0 (10 April 2025)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- `IntegrationParameters` now implements `PartialEq`.
|
- `IntegrationParameters` now implements `PartialEq`.
|
||||||
|
|
||||||
|
### Modified
|
||||||
|
|
||||||
|
- Update dependencies (including `parry` 0.19).
|
||||||
|
|
||||||
## v0.23.1 (05 March 2025)
|
## v0.23.1 (05 March 2025)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier2d-f64"
|
name = "rapier2d-f64"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "2-dimensional physics engine in Rust."
|
description = "2-dimensional physics engine in Rust."
|
||||||
documentation = "https://docs.rs/rapier2d"
|
documentation = "https://docs.rs/rapier2d"
|
||||||
@@ -68,7 +68,7 @@ vec_map = { version = "0.8", optional = true }
|
|||||||
web-time = { version = "1.1", optional = true }
|
web-time = { version = "1.1", optional = true }
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
nalgebra = "0.33"
|
nalgebra = "0.33"
|
||||||
parry2d-f64 = "0.18.0"
|
parry2d-f64 = "0.19.0"
|
||||||
simba = "0.9"
|
simba = "0.9"
|
||||||
approx = "0.5"
|
approx = "0.5"
|
||||||
rayon = { version = "1", optional = true }
|
rayon = { version = "1", optional = true }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier2d"
|
name = "rapier2d"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "2-dimensional physics engine in Rust."
|
description = "2-dimensional physics engine in Rust."
|
||||||
documentation = "https://docs.rs/rapier2d"
|
documentation = "https://docs.rs/rapier2d"
|
||||||
@@ -69,7 +69,7 @@ vec_map = { version = "0.8", optional = true }
|
|||||||
web-time = { version = "1.1", optional = true }
|
web-time = { version = "1.1", optional = true }
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
nalgebra = "0.33"
|
nalgebra = "0.33"
|
||||||
parry2d = "0.18.0"
|
parry2d = "0.19.0"
|
||||||
simba = "0.9"
|
simba = "0.9"
|
||||||
approx = "0.5"
|
approx = "0.5"
|
||||||
rayon = { version = "1", optional = true }
|
rayon = { version = "1", optional = true }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier3d-f64"
|
name = "rapier3d-f64"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "3-dimensional physics engine in Rust."
|
description = "3-dimensional physics engine in Rust."
|
||||||
documentation = "https://docs.rs/rapier3d"
|
documentation = "https://docs.rs/rapier3d"
|
||||||
@@ -71,7 +71,7 @@ vec_map = { version = "0.8", optional = true }
|
|||||||
web-time = { version = "1.1", optional = true }
|
web-time = { version = "1.1", optional = true }
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
nalgebra = "0.33"
|
nalgebra = "0.33"
|
||||||
parry3d-f64 = "0.18.0"
|
parry3d-f64 = "0.19.0"
|
||||||
simba = "0.9"
|
simba = "0.9"
|
||||||
approx = "0.5"
|
approx = "0.5"
|
||||||
rayon = { version = "1", optional = true }
|
rayon = { version = "1", optional = true }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier3d-meshloader"
|
name = "rapier3d-meshloader"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "STL file loader for the 3D rapier physics engine."
|
description = "STL file loader for the 3D rapier physics engine."
|
||||||
documentation = "https://docs.rs/rapier3d-meshloader"
|
documentation = "https://docs.rs/rapier3d-meshloader"
|
||||||
@@ -29,4 +29,4 @@ thiserror = "2"
|
|||||||
profiling = "1.0"
|
profiling = "1.0"
|
||||||
mesh-loader = "0.1.12"
|
mesh-loader = "0.1.12"
|
||||||
|
|
||||||
rapier3d = { version = "0.23", path = "../rapier3d" }
|
rapier3d = { version = "0.24", path = "../rapier3d" }
|
||||||
|
|||||||
@@ -33,11 +33,11 @@ pub enum MeshLoaderError {
|
|||||||
/// # Parameters
|
/// # Parameters
|
||||||
/// - `path`: the file’s path.
|
/// - `path`: the file’s path.
|
||||||
/// - `converter`: controls how the shapes are computed from the content. In particular, it lets
|
/// - `converter`: controls how the shapes are computed from the content. In particular, it lets
|
||||||
/// you specify if the computed [`SharedShape`] is a triangle mesh, its convex hull,
|
/// you specify if the computed [`SharedShape`] is a triangle mesh, its convex hull,
|
||||||
/// bounding box, etc.
|
/// bounding box, etc.
|
||||||
/// - `scale`: the scaling factor applied to the geometry input to the `converter`. This scale will
|
/// - `scale`: the scaling factor applied to the geometry input to the `converter`. This scale will
|
||||||
/// affect at the geometric level the [`LoadedShape::shape`]. Note that raw mesh value stored
|
/// affect at the geometric level the [`LoadedShape::shape`]. Note that raw mesh value stored
|
||||||
/// in [`LoadedShape::raw_mesh`] remains unscaled.
|
/// in [`LoadedShape::raw_mesh`] remains unscaled.
|
||||||
pub fn load_from_path(
|
pub fn load_from_path(
|
||||||
path: impl AsRef<Path>,
|
path: impl AsRef<Path>,
|
||||||
converter: &MeshConverter,
|
converter: &MeshConverter,
|
||||||
@@ -63,11 +63,11 @@ pub fn load_from_path(
|
|||||||
/// # Parameters
|
/// # Parameters
|
||||||
/// - `raw_mesh`: the raw mesh.
|
/// - `raw_mesh`: the raw mesh.
|
||||||
/// - `converter`: controls how the shape is computed from the STL content. In particular, it lets
|
/// - `converter`: controls how the shape is computed from the STL content. In particular, it lets
|
||||||
/// you specify if the computed [`SharedShape`] is a triangle mesh, its convex hull,
|
/// you specify if the computed [`SharedShape`] is a triangle mesh, its convex hull,
|
||||||
/// bounding box, etc.
|
/// bounding box, etc.
|
||||||
/// - `scale`: the scaling factor applied to the geometry input to the `converter`. This scale will
|
/// - `scale`: the scaling factor applied to the geometry input to the `converter`. This scale will
|
||||||
/// affect at the geometric level the [`LoadedShape::shape`]. Note that raw mesh value stored
|
/// affect at the geometric level the [`LoadedShape::shape`]. Note that raw mesh value stored
|
||||||
/// in [`LoadedShape::raw_mesh`] remains unscaled.
|
/// in [`LoadedShape::raw_mesh`] remains unscaled.
|
||||||
pub fn load_from_raw_mesh(
|
pub fn load_from_raw_mesh(
|
||||||
raw_mesh: &Mesh,
|
raw_mesh: &Mesh,
|
||||||
converter: &MeshConverter,
|
converter: &MeshConverter,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier3d-urdf"
|
name = "rapier3d-urdf"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "URDF file loader for the 3D rapier physics engine."
|
description = "URDF file loader for the 3D rapier physics engine."
|
||||||
documentation = "https://docs.rs/rapier3d-urdf"
|
documentation = "https://docs.rs/rapier3d-urdf"
|
||||||
@@ -31,5 +31,5 @@ anyhow = "1"
|
|||||||
bitflags = "2"
|
bitflags = "2"
|
||||||
urdf-rs = "0.9"
|
urdf-rs = "0.9"
|
||||||
|
|
||||||
rapier3d = { version = "0.23", path = "../rapier3d" }
|
rapier3d = { version = "0.24", path = "../rapier3d" }
|
||||||
rapier3d-meshloader = { version = "0.4.0", path = "../rapier3d-meshloader", default-features = false, optional = true }
|
rapier3d-meshloader = { version = "0.5.0", path = "../rapier3d-meshloader", default-features = false, optional = true }
|
||||||
|
|||||||
@@ -221,9 +221,9 @@ impl UrdfRobot {
|
|||||||
/// - `path`: the path of the URDF file.
|
/// - `path`: the path of the URDF file.
|
||||||
/// - `options`: customize the creation of rapier objects from the URDF description.
|
/// - `options`: customize the creation of rapier objects from the URDF description.
|
||||||
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
||||||
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
||||||
/// to the file path. If `mesh_dir` is `None` then the mesh directory is assumed
|
/// to the file path. If `mesh_dir` is `None` then the mesh directory is assumed
|
||||||
/// to be the same directory as the one containing the URDF file.
|
/// to be the same directory as the one containing the URDF file.
|
||||||
pub fn from_file(
|
pub fn from_file(
|
||||||
path: impl AsRef<Path>,
|
path: impl AsRef<Path>,
|
||||||
options: UrdfLoaderOptions,
|
options: UrdfLoaderOptions,
|
||||||
@@ -249,8 +249,8 @@ impl UrdfRobot {
|
|||||||
/// - `str`: the string content of an URDF file.
|
/// - `str`: the string content of an URDF file.
|
||||||
/// - `options`: customize the creation of rapier objects from the URDF description.
|
/// - `options`: customize the creation of rapier objects from the URDF description.
|
||||||
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
||||||
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
||||||
/// to the file path.
|
/// to the file path.
|
||||||
pub fn from_str(
|
pub fn from_str(
|
||||||
str: &str,
|
str: &str,
|
||||||
options: UrdfLoaderOptions,
|
options: UrdfLoaderOptions,
|
||||||
@@ -272,8 +272,8 @@ impl UrdfRobot {
|
|||||||
/// - `robot`: the robot loaded from an URDF file.
|
/// - `robot`: the robot loaded from an URDF file.
|
||||||
/// - `options`: customize the creation of rapier objects from the URDF description.
|
/// - `options`: customize the creation of rapier objects from the URDF description.
|
||||||
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
/// - `mesh_dir`: the base directory containing the meshes referenced by the URDF file. When
|
||||||
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
/// a mesh reference is found in the URDF file, this `mesh_dir` is appended
|
||||||
/// to the file path.
|
/// to the file path.
|
||||||
pub fn from_robot(robot: &Robot, options: UrdfLoaderOptions, mesh_dir: &Path) -> Self {
|
pub fn from_robot(robot: &Robot, options: UrdfLoaderOptions, mesh_dir: &Path) -> Self {
|
||||||
let mut name_to_link_id = HashMap::new();
|
let mut name_to_link_id = HashMap::new();
|
||||||
let mut link_is_root = vec![true; robot.links.len()];
|
let mut link_is_root = vec![true; robot.links.len()];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier3d"
|
name = "rapier3d"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "3-dimensional physics engine in Rust."
|
description = "3-dimensional physics engine in Rust."
|
||||||
documentation = "https://docs.rs/rapier3d"
|
documentation = "https://docs.rs/rapier3d"
|
||||||
@@ -73,7 +73,7 @@ vec_map = { version = "0.8", optional = true }
|
|||||||
web-time = { version = "1.1", optional = true }
|
web-time = { version = "1.1", optional = true }
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
nalgebra = "0.33"
|
nalgebra = "0.33"
|
||||||
parry3d = "0.18.0"
|
parry3d = "0.19.0"
|
||||||
simba = "0.9"
|
simba = "0.9"
|
||||||
approx = "0.5"
|
approx = "0.5"
|
||||||
rayon = { version = "1", optional = true }
|
rayon = { version = "1", optional = true }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier_testbed2d-f64"
|
name = "rapier_testbed2d-f64"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "Testbed for the Rapier 2-dimensional physics engine in Rust."
|
description = "Testbed for the Rapier 2-dimensional physics engine in Rust."
|
||||||
homepage = "http://rapier.rs"
|
homepage = "http://rapier.rs"
|
||||||
@@ -99,5 +99,5 @@ bevy = { version = "0.15", default-features = false, features = [
|
|||||||
[dependencies.rapier]
|
[dependencies.rapier]
|
||||||
package = "rapier2d-f64"
|
package = "rapier2d-f64"
|
||||||
path = "../rapier2d-f64"
|
path = "../rapier2d-f64"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
features = ["serde-serialize", "debug-render", "profiler"]
|
features = ["serde-serialize", "debug-render", "profiler"]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier_testbed2d"
|
name = "rapier_testbed2d"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "Testbed for the Rapier 2-dimensional physics engine in Rust."
|
description = "Testbed for the Rapier 2-dimensional physics engine in Rust."
|
||||||
homepage = "http://rapier.rs"
|
homepage = "http://rapier.rs"
|
||||||
@@ -98,5 +98,5 @@ bevy = { version = "0.15", default-features = false, features = [
|
|||||||
[dependencies.rapier]
|
[dependencies.rapier]
|
||||||
package = "rapier2d"
|
package = "rapier2d"
|
||||||
path = "../rapier2d"
|
path = "../rapier2d"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
features = ["serde-serialize", "debug-render", "profiler"]
|
features = ["serde-serialize", "debug-render", "profiler"]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier_testbed3d-f64"
|
name = "rapier_testbed3d-f64"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "Testbed for the Rapier 3-dimensional physics engine in Rust."
|
description = "Testbed for the Rapier 3-dimensional physics engine in Rust."
|
||||||
homepage = "http://rapier.rs"
|
homepage = "http://rapier.rs"
|
||||||
@@ -99,5 +99,5 @@ bevy = { version = "0.15", default-features = false, features = [
|
|||||||
[dependencies.rapier]
|
[dependencies.rapier]
|
||||||
package = "rapier3d-f64"
|
package = "rapier3d-f64"
|
||||||
path = "../rapier3d-f64"
|
path = "../rapier3d-f64"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
features = ["serde-serialize", "debug-render", "profiler"]
|
features = ["serde-serialize", "debug-render", "profiler"]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rapier_testbed3d"
|
name = "rapier_testbed3d"
|
||||||
version = "0.23.1"
|
version = "0.24.0"
|
||||||
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
|
||||||
description = "Testbed for the Rapier 3-dimensional physics engine in Rust."
|
description = "Testbed for the Rapier 3-dimensional physics engine in Rust."
|
||||||
homepage = "http://rapier.rs"
|
homepage = "http://rapier.rs"
|
||||||
@@ -97,5 +97,5 @@ bevy = { version = "0.15", default-features = false, features = [
|
|||||||
[dependencies.rapier]
|
[dependencies.rapier]
|
||||||
package = "rapier3d"
|
package = "rapier3d"
|
||||||
path = "../rapier3d"
|
path = "../rapier3d"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
features = ["serde-serialize", "debug-render", "profiler"]
|
features = ["serde-serialize", "debug-render", "profiler"]
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ pub trait EventHandler: Send + Sync {
|
|||||||
/// * `bodies` - The set of rigid-bodies.
|
/// * `bodies` - The set of rigid-bodies.
|
||||||
/// * `colliders` - The set of colliders.
|
/// * `colliders` - The set of colliders.
|
||||||
/// * `contact_pair` - The current state of contacts between the two colliders. This is set to `None`
|
/// * `contact_pair` - The current state of contacts between the two colliders. This is set to `None`
|
||||||
/// if at least one of the collider is a sensor (in which case no contact information
|
/// if at least one of the collider is a sensor (in which case no contact information
|
||||||
/// is ever computed).
|
/// is ever computed).
|
||||||
fn handle_collision_event(
|
fn handle_collision_event(
|
||||||
&self,
|
&self,
|
||||||
bodies: &RigidBodySet,
|
bodies: &RigidBodySet,
|
||||||
|
|||||||
Reference in New Issue
Block a user