diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-12-21 16:01:22 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-12-29 11:31:59 +0100 |
| commit | 486fbd972f7951edf2d576c7c6bcbd02dcc28011 (patch) | |
| tree | 00b8eb8cbb0df70b04a52ec57511ab65afc0b7c3 /src_testbed/objects | |
| parent | 0fb4b4faefc59213b2731b9b3f7fa4bfde8212ba (diff) | |
| download | rapier-486fbd972f7951edf2d576c7c6bcbd02dcc28011.tar.gz rapier-486fbd972f7951edf2d576c7c6bcbd02dcc28011.tar.bz2 rapier-486fbd972f7951edf2d576c7c6bcbd02dcc28011.zip | |
Add example for 3D convex polyhedron.
Diffstat (limited to 'src_testbed/objects')
| -rw-r--r-- | src_testbed/objects/convex.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src_testbed/objects/convex.rs b/src_testbed/objects/convex.rs index 0347144..9f0983d 100644 --- a/src_testbed/objects/convex.rs +++ b/src_testbed/objects/convex.rs @@ -19,13 +19,20 @@ impl Convex { pub fn new( body: ColliderHandle, vertices: Vec<Point<f32>>, + #[cfg(feature = "dim3")] indices: Vec<Point<u32>>, color: Point3<f32>, window: &mut Window, ) -> Convex { #[cfg(feature = "dim2")] let node = window.add_convex_polygon(vertices, Vector::from_element(1.0)); #[cfg(feature = "dim3")] - let node = unimplemented!(); + let node = { + use std::cell::RefCell; + use std::rc::Rc; + let is = indices.into_iter().map(na::convert).collect(); + let mesh = kiss3d::resource::Mesh::new(vertices, is, None, None, false); + window.add_mesh(Rc::new(RefCell::new(mesh)), na::Vector3::from_element(1.0)) + }; let mut res = Convex { color, |
