diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-11-03 14:29:47 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-11-03 14:29:47 +0100 |
| commit | 036a24614171eff0f99495b8b6f1c09e58cb4f9a (patch) | |
| tree | 65ab16c69b8f7d7d8ade0163a13979c79afdcbf2 /src/dynamics/rigid_body_set.rs | |
| parent | 0cc850dc505a4034103d229fdce22f9ec7bc410a (diff) | |
| download | rapier-036a24614171eff0f99495b8b6f1c09e58cb4f9a.tar.gz rapier-036a24614171eff0f99495b8b6f1c09e58cb4f9a.tar.bz2 rapier-036a24614171eff0f99495b8b6f1c09e58cb4f9a.zip | |
Make cloning rigid-bodies and colliders more idiomatic.
Fix #53
Diffstat (limited to 'src/dynamics/rigid_body_set.rs')
| -rw-r--r-- | src/dynamics/rigid_body_set.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dynamics/rigid_body_set.rs b/src/dynamics/rigid_body_set.rs index 83f1c51..2efc2cf 100644 --- a/src/dynamics/rigid_body_set.rs +++ b/src/dynamics/rigid_body_set.rs @@ -154,7 +154,11 @@ impl RigidBodySet { } /// Insert a rigid body into this set and retrieve its handle. - pub fn insert(&mut self, rb: RigidBody) -> RigidBodyHandle { + pub fn insert(&mut self, mut rb: RigidBody) -> RigidBodyHandle { + // Make sure the internal links are reset, they may not be + // if this rigid-body was obtained by cloning another one. + rb.reset_internal_links(); + let handle = self.bodies.insert(rb); let rb = &mut self.bodies[handle]; |
