diff options
| -rw-r--r-- | src/dynamics/rigid_body.rs | 40 | ||||
| -rw-r--r-- | src/geometry/collider.rs | 1 |
2 files changed, 28 insertions, 13 deletions
diff --git a/src/dynamics/rigid_body.rs b/src/dynamics/rigid_body.rs index 63c2221..2086839 100644 --- a/src/dynamics/rigid_body.rs +++ b/src/dynamics/rigid_body.rs @@ -704,21 +704,35 @@ impl RigidBody { } /// A builder for rigid-bodies. +#[derive(Clone, Debug, PartialEq)] +#[must_use = "Builder functions return the updated builder"] pub struct RigidBodyBuilder { - position: Isometry<Real>, - linvel: Vector<Real>, - angvel: AngVector<Real>, - gravity_scale: Real, - linear_damping: Real, - angular_damping: Real, + /// The initial position of the rigid-body to be built. + pub position: Isometry<Real>, + /// The linear velocity of the rigid-body to be built. + pub linvel: Vector<Real>, + /// The angular velocity of the rigid-body to be built. + pub angvel: AngVector<Real>, + /// The scale factor applied to the gravity affecting the rigid-body to be built, `1.0` by default. + pub gravity_scale: Real, + /// Damping factor for gradually slowing down the translational motion of the rigid-body, `0.0` by default. + pub linear_damping: Real, + /// Damping factor for gradually slowing down the angular motion of the rigid-body, `0.0` by default. + pub angular_damping: Real, rb_type: RigidBodyType, mprops_flags: RigidBodyMassPropsFlags, - mass_properties: MassProperties, - can_sleep: bool, - sleeping: bool, - ccd_enabled: bool, - dominance_group: i8, - user_data: u128, + /// The additional mass properties of the rigid-body being built. See [`RigidBodyBuilder::additional_mass_properties`] for more information. + pub mass_properties: MassProperties, + /// Whether or not the rigid-body to be created can sleep if it reaches a dynamic equilibrium. + pub can_sleep: bool, + /// Whether or not the rigid-body is to be created asleep. + pub sleeping: bool, + /// Whether continuous collision-detection is enabled for the rigid-body to be built. + pub ccd_enabled: bool, + /// The dominance group of the rigid-body to be built. + pub dominance_group: i8, + /// An arbitrary user-defined 128-bit integer associated to the rigid-bodies built by this builder. + pub user_data: u128, } impl RigidBodyBuilder { @@ -962,7 +976,7 @@ impl RigidBodyBuilder { self } - /// Enabled continuous collision-detection for this rigid-body. + /// Sets whether or not continuous collision-detection is enabled for this rigid-body. pub fn ccd_enabled(mut self, enabled: bool) -> Self { self.ccd_enabled = enabled; self diff --git a/src/geometry/collider.rs b/src/geometry/collider.rs index c039ed5..44295c4 100644 --- a/src/geometry/collider.rs +++ b/src/geometry/collider.rs @@ -275,6 +275,7 @@ impl Collider { /// A structure responsible for building a new collider. #[derive(Clone)] #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[must_use = "Builder functions return the updated builder"] pub struct ColliderBuilder { /// The shape of the collider to be built. pub shape: SharedShape, |
