diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-12-27 18:14:22 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-12-29 11:31:59 +0100 |
| commit | 8d925a02ef97844bc937584a9095c1396daeee35 (patch) | |
| tree | 687a77ccde4bdade1832a19ea3a98e35d141c2b8 /src_testbed/box2d_backend.rs | |
| parent | 27ebb541f8766477464ce3e910ba3fd0822df818 (diff) | |
| download | rapier-8d925a02ef97844bc937584a9095c1396daeee35.tar.gz rapier-8d925a02ef97844bc937584a9095c1396daeee35.tar.bz2 rapier-8d925a02ef97844bc937584a9095c1396daeee35.zip | |
Add convex polygons support.
Diffstat (limited to 'src_testbed/box2d_backend.rs')
| -rw-r--r-- | src_testbed/box2d_backend.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src_testbed/box2d_backend.rs b/src_testbed/box2d_backend.rs index f448a6f..2d4ef29 100644 --- a/src_testbed/box2d_backend.rs +++ b/src_testbed/box2d_backend.rs @@ -174,6 +174,14 @@ impl Box2dWorld { b2_shape.set_radius(b.radius); b2_shape.set_position(center); body.create_fixture(&b2_shape, &mut fixture_def); + } else if let Some(p) = shape.as_convex_polygon() { + let vertices: Vec<_> = p + .points() + .iter() + .map(|p| na_vec_to_b2_vec(p.coords)) + .collect(); + let b2_shape = b2::PolygonShape::new_with(&vertices); + body.create_fixture(&b2_shape, &mut fixture_def); } else if let Some(c) = shape.as_cuboid() { let b2_shape = b2::PolygonShape::new_box(c.half_extents.x, c.half_extents.y); body.create_fixture(&b2_shape, &mut fixture_def); |
