From 28b7866aee68ca844406bea4761d630a7913188d Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Wed, 20 Jan 2021 15:40:00 +0100 Subject: Switch to [u32; DIM] instead of Point for element indices. --- src_testbed/objects/convex.rs | 8 ++++---- src_testbed/objects/heightfield.rs | 5 ++++- src_testbed/objects/mesh.rs | 7 +++++-- 3 files changed, 13 insertions(+), 7 deletions(-) (limited to 'src_testbed/objects') diff --git a/src_testbed/objects/convex.rs b/src_testbed/objects/convex.rs index 51b1cb4..95ef74a 100644 --- a/src_testbed/objects/convex.rs +++ b/src_testbed/objects/convex.rs @@ -21,7 +21,7 @@ impl Convex { body: ColliderHandle, delta: Isometry, vertices: Vec>, - #[cfg(feature = "dim3")] indices: Vec>, + #[cfg(feature = "dim3")] indices: Vec<[u32; 3]>, color: Point3, window: &mut Window, ) -> Convex { @@ -35,9 +35,9 @@ impl Convex { let mut mesh_indices = Vec::new(); for idx in indices { let i = mesh_vertices.len() as u16; - mesh_vertices.push(vertices[idx.x as usize]); - mesh_vertices.push(vertices[idx.y as usize]); - mesh_vertices.push(vertices[idx.z as usize]); + mesh_vertices.push(vertices[idx[0] as usize]); + mesh_vertices.push(vertices[idx[1] as usize]); + mesh_vertices.push(vertices[idx[2] as usize]); mesh_indices.push(Point3::new(i, i + 1, i + 2)); } diff --git a/src_testbed/objects/heightfield.rs b/src_testbed/objects/heightfield.rs index a2999b7..cb5edf3 100644 --- a/src_testbed/objects/heightfield.rs +++ b/src_testbed/objects/heightfield.rs @@ -55,7 +55,10 @@ impl HeightField { use std::rc::Rc; let (vertices, indices) = heightfield.to_trimesh(); - let indices = indices.into_iter().map(|i| na::convert(i)).collect(); + let indices = indices + .into_iter() + .map(|idx| Point3::new(idx[0] as u16, idx[1] as u16, idx[2] as u16)) + .collect(); let mesh = Mesh::new(vertices, indices, None, None, false); let mut res = HeightField { diff --git a/src_testbed/objects/mesh.rs b/src_testbed/objects/mesh.rs index 5187a8b..5505de3 100644 --- a/src_testbed/objects/mesh.rs +++ b/src_testbed/objects/mesh.rs @@ -17,12 +17,15 @@ impl Mesh { pub fn new( collider: ColliderHandle, vertices: Vec>, - indices: Vec>, + indices: Vec<[u32; 3]>, color: Point3, window: &mut window::Window, ) -> Mesh { let vs = vertices; - let is = indices.into_iter().map(na::convert).collect(); + let is = indices + .into_iter() + .map(|idx| Point3::new(idx[0] as u16, idx[1] as u16, idx[2] as u16)) + .collect(); let mesh; let gfx; -- cgit