aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/testbed.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-01-05 15:34:48 +0100
committerCrozet Sébastien <developer@crozet.re>2021-01-05 15:34:48 +0100
commit00da4aaa42cc921bbd8c469b45c5c1e304f46260 (patch)
tree06327c571b90d09c3cb74c0b4d0a30ac219249f4 /src_testbed/testbed.rs
parent6ba50813581e9cc87bcb93fef0d01e16065b976b (diff)
downloadrapier-00da4aaa42cc921bbd8c469b45c5c1e304f46260.tar.gz
rapier-00da4aaa42cc921bbd8c469b45c5c1e304f46260.tar.bz2
rapier-00da4aaa42cc921bbd8c469b45c5c1e304f46260.zip
Add compound shape support.
Diffstat (limited to 'src_testbed/testbed.rs')
-rw-r--r--src_testbed/testbed.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index b1a529f..10b3a0a 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -17,7 +17,7 @@ use kiss3d::planar_camera::PlanarCamera;
use kiss3d::post_processing::PostProcessingEffect;
use kiss3d::text::Font;
use kiss3d::window::{State, Window};
-use na::{self, Point2, Point3, Vector3};
+use na::{self, Isometry3, Point2, Point3, Vector3};
use rapier::dynamics::{
ActivationStatus, IntegrationParameters, JointSet, RigidBodyHandle, RigidBodySet,
};
@@ -1525,9 +1525,13 @@ fn draw_contacts(window: &mut Window, nf: &NarrowPhase, colliders: &ColliderSet)
};
let pos1 = colliders[pair.pair.collider1].position();
let pos2 = colliders[pair.pair.collider2].position();
- let start = pos1 * pt.local_p1;
- let end = pos2 * pt.local_p2;
- let n = pos1 * manifold.local_n1;
+ let start =
+ pos1 * manifold.subshape_pos1.unwrap_or(Isometry3::identity()) * pt.local_p1;
+ let end =
+ pos2 * manifold.subshape_pos2.unwrap_or(Isometry3::identity()) * pt.local_p2;
+ let n = pos1
+ * manifold.subshape_pos1.unwrap_or(Isometry3::identity())
+ * manifold.local_n1;
use crate::engine::GraphicsWindow;
window.draw_graphics_line(&start, &(start + n * 0.4), &Point3::new(0.5, 1.0, 0.5));