diff options
| author | zhguchev <zhguchev@arrival.com> | 2022-01-11 14:56:26 +0100 |
|---|---|---|
| committer | Sébastien Crozet <developer@crozet.re> | 2022-01-23 18:01:50 +0100 |
| commit | 536122e08066c762a0f6a1585c458f6c7a54bc2e (patch) | |
| tree | 2cb19ed51bc0880b7de0815e25143c798c41438f /src/dynamics | |
| parent | 1608a1323ed76cdf33644cfea599cea715acf7a9 (diff) | |
| download | rapier-536122e08066c762a0f6a1585c458f6c7a54bc2e.tar.gz rapier-536122e08066c762a0f6a1585c458f6c7a54bc2e.tar.bz2 rapier-536122e08066c762a0f6a1585c458f6c7a54bc2e.zip | |
add defaults for the several structs
Diffstat (limited to 'src/dynamics')
| -rw-r--r-- | src/dynamics/joint/fixed_joint.rs | 6 | ||||
| -rw-r--r-- | src/dynamics/joint/multibody_joint/multibody.rs | 8 | ||||
| -rw-r--r-- | src/dynamics/joint/multibody_joint/multibody_joint_set.rs | 1 | ||||
| -rw-r--r-- | src/dynamics/joint/spherical_joint.rs | 6 | ||||
| -rw-r--r-- | src/dynamics/rigid_body_components.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/delta_vel.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/joint_constraint/joint_generic_velocity_constraint.rs | 11 |
7 files changed, 30 insertions, 6 deletions
diff --git a/src/dynamics/joint/fixed_joint.rs b/src/dynamics/joint/fixed_joint.rs index 10c4d7e..6082938 100644 --- a/src/dynamics/joint/fixed_joint.rs +++ b/src/dynamics/joint/fixed_joint.rs @@ -6,7 +6,11 @@ use crate::math::{Isometry, Point, Real}; pub struct FixedJoint { data: JointData, } - +impl Default for FixedJoint{ + fn default() -> Self { + FixedJoint::new() + } +} impl FixedJoint { pub fn new() -> Self { #[cfg(feature = "dim2")] diff --git a/src/dynamics/joint/multibody_joint/multibody.rs b/src/dynamics/joint/multibody_joint/multibody.rs index e31a333..5779b3e 100644 --- a/src/dynamics/joint/multibody_joint/multibody.rs +++ b/src/dynamics/joint/multibody_joint/multibody.rs @@ -18,7 +18,7 @@ use na::{ }; #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Copy, Clone, Debug,Default)] struct Force { linear: Vector<Real>, angular: AngVector<Real>, @@ -91,7 +91,11 @@ pub struct Multibody { coriolis_w: Vec<OMatrix<Real, AngDim, Dynamic>>, i_coriolis_dt: Jacobian<Real>, } - +impl Default for Multibody{ + fn default() -> Self { + Multibody::new() + } +} impl Multibody { /// Creates a new multibody with no link. pub fn new() -> Self { diff --git a/src/dynamics/joint/multibody_joint/multibody_joint_set.rs b/src/dynamics/joint/multibody_joint/multibody_joint_set.rs index 24b329f..3e786e2 100644 --- a/src/dynamics/joint/multibody_joint/multibody_joint_set.rs +++ b/src/dynamics/joint/multibody_joint/multibody_joint_set.rs @@ -75,6 +75,7 @@ impl Default for MultibodyJointLink { } } +#[derive(Default)] /// A set of rigid bodies that can be handled by a physics pipeline. #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] #[derive(Clone)] diff --git a/src/dynamics/joint/spherical_joint.rs b/src/dynamics/joint/spherical_joint.rs index 581b959..19fbd6f 100644 --- a/src/dynamics/joint/spherical_joint.rs +++ b/src/dynamics/joint/spherical_joint.rs @@ -7,7 +7,11 @@ use crate::math::{Point, Real}; pub struct SphericalJoint { data: JointData, } - +impl Default for SphericalJoint{ + fn default() -> Self { + SphericalJoint::new() + } +} impl SphericalJoint { pub fn new() -> Self { let data = diff --git a/src/dynamics/rigid_body_components.rs b/src/dynamics/rigid_body_components.rs index fdbd33f..c7542d1 100644 --- a/src/dynamics/rigid_body_components.rs +++ b/src/dynamics/rigid_body_components.rs @@ -12,7 +12,7 @@ use crate::utils::{WAngularInertia, WCross, WDot}; use num::Zero; /// The unique handle of a rigid body added to a `RigidBodySet`. -#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Default)] #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] #[repr(transparent)] pub struct RigidBodyHandle(pub crate::data::arena::Index); diff --git a/src/dynamics/solver/delta_vel.rs b/src/dynamics/solver/delta_vel.rs index 697fd24..73f3c91 100644 --- a/src/dynamics/solver/delta_vel.rs +++ b/src/dynamics/solver/delta_vel.rs @@ -3,7 +3,7 @@ use na::{DVectorSlice, DVectorSliceMut}; use na::{Scalar, SimdRealField}; use std::ops::{AddAssign, Sub}; -#[derive(Copy, Clone, Debug)] +#[derive(Copy, Clone, Debug, Default)] #[repr(C)] //#[repr(align(64))] pub struct DeltaVel<N: Scalar + Copy> { diff --git a/src/dynamics/solver/joint_constraint/joint_generic_velocity_constraint.rs b/src/dynamics/solver/joint_constraint/joint_generic_velocity_constraint.rs index 2646fe8..795009f 100644 --- a/src/dynamics/solver/joint_constraint/joint_generic_velocity_constraint.rs +++ b/src/dynamics/solver/joint_constraint/joint_generic_velocity_constraint.rs @@ -29,6 +29,12 @@ pub struct JointGenericVelocityConstraint { pub writeback_id: WritebackId, } +impl Default for JointGenericVelocityConstraint { + fn default() -> Self { + JointGenericVelocityConstraint::invalid() + } +} + impl JointGenericVelocityConstraint { pub fn invalid() -> Self { Self { @@ -313,6 +319,11 @@ pub struct JointGenericVelocityGroundConstraint { pub writeback_id: WritebackId, } +impl Default for JointGenericVelocityGroundConstraint{ + fn default() -> Self { + JointGenericVelocityGroundConstraint::invalid() + } +} impl JointGenericVelocityGroundConstraint { pub fn invalid() -> Self { |
