aboutsummaryrefslogtreecommitdiff
path: root/examples3d
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-01-20 15:40:00 +0100
committerCrozet Sébastien <developer@crozet.re>2021-01-20 15:40:00 +0100
commit28b7866aee68ca844406bea4761d630a7913188d (patch)
treec664c3dae65e5300f606e4f8cfb1198023173ea6 /examples3d
parente2006599a8fa90090393ff4fed326ee78fd7c0b7 (diff)
downloadrapier-28b7866aee68ca844406bea4761d630a7913188d.tar.gz
rapier-28b7866aee68ca844406bea4761d630a7913188d.tar.bz2
rapier-28b7866aee68ca844406bea4761d630a7913188d.zip
Switch to [u32; DIM] instead of Point<u32> for element indices.
Diffstat (limited to 'examples3d')
-rw-r--r--examples3d/convex_decomposition3.rs17
-rw-r--r--examples3d/debug_trimesh3.rs24
2 files changed, 23 insertions, 18 deletions
diff --git a/examples3d/convex_decomposition3.rs b/examples3d/convex_decomposition3.rs
index 2e35f43..abd2fe0 100644
--- a/examples3d/convex_decomposition3.rs
+++ b/examples3d/convex_decomposition3.rs
@@ -1,5 +1,5 @@
use kiss3d::loader::obj;
-use na::{Isometry3, Point3, Translation3};
+use na::{Point3, Translation3};
use rapier3d::cdl::bounding_volume::{self, BoundingVolume};
use rapier3d::cdl::transformation::vhacd::{VHACDParameters, VHACD};
use rapier3d::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
@@ -74,11 +74,16 @@ pub fn init_world(testbed: &mut Testbed) {
trimesh.scale_by_scalar(6.0 / diag);
let params = VHACDParameters::default();
- let vertices = &trimesh.coords;
- let indices = &trimesh.indices.unwrap_unified();
- let vhacd = VHACD::decompose(&params, vertices, indices, true);
-
- for (vertices, indices) in vhacd.compute_exact_convex_hulls(vertices, indices) {
+ let vertices = trimesh.coords;
+ let indices: Vec<_> = trimesh
+ .indices
+ .unwrap_unified()
+ .into_iter()
+ .map(|idx| [idx.x, idx.y, idx.z])
+ .collect();
+ let vhacd = VHACD::decompose(&params, &vertices, &indices, true);
+
+ for (vertices, indices) in vhacd.compute_exact_convex_hulls(&vertices, &indices) {
if let Some(convex) = ColliderShape::convex_mesh(vertices, &indices) {
compound_parts.push(convex);
}
diff --git a/examples3d/debug_trimesh3.rs b/examples3d/debug_trimesh3.rs
index 0d0b276..186e673 100644
--- a/examples3d/debug_trimesh3.rs
+++ b/examples3d/debug_trimesh3.rs
@@ -24,18 +24,18 @@ pub fn init_world(testbed: &mut Testbed) {
Point3::new(-width, -width, width),
];
let idx = vec![
- Point3::new(0, 1, 2),
- Point3::new(0, 2, 3),
- Point3::new(4, 5, 6),
- Point3::new(4, 6, 7),
- Point3::new(0, 4, 7),
- Point3::new(0, 7, 3),
- Point3::new(1, 5, 6),
- Point3::new(1, 6, 2),
- Point3::new(3, 2, 7),
- Point3::new(2, 6, 7),
- Point3::new(0, 1, 5),
- Point3::new(0, 5, 4),
+ [0, 1, 2],
+ [0, 2, 3],
+ [4, 5, 6],
+ [4, 6, 7],
+ [0, 4, 7],
+ [0, 7, 3],
+ [1, 5, 6],
+ [1, 6, 2],
+ [3, 2, 7],
+ [2, 6, 7],
+ [0, 1, 5],
+ [0, 5, 4],
];
// Dynamic box rigid body.