diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:43:16 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:43:16 +0100 |
| commit | b779eb261e7c3e816c8b586f1f496dcd17dbf700 (patch) | |
| tree | 60322ff9e3ea25182a584b523a2f7231cb3f479b /src/geometry | |
| parent | 99c2184e134b40cca9cb22fe93a95a64295ae048 (diff) | |
| download | rapier-b779eb261e7c3e816c8b586f1f496dcd17dbf700.tar.gz rapier-b779eb261e7c3e816c8b586f1f496dcd17dbf700.tar.bz2 rapier-b779eb261e7c3e816c8b586f1f496dcd17dbf700.zip | |
Fix compilation in 2D.
Diffstat (limited to 'src/geometry')
| -rw-r--r-- | src/geometry/collider.rs | 2 | ||||
| -rw-r--r-- | src/geometry/collider_shape.rs | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/geometry/collider.rs b/src/geometry/collider.rs index 232b246..4ad3295 100644 --- a/src/geometry/collider.rs +++ b/src/geometry/collider.rs @@ -4,8 +4,6 @@ use crate::geometry::{ColliderShape, InteractionGroups}; use crate::math::{AngVector, Isometry, Point, Real, Rotation, Vector, DIM}; use cdl::bounding_volume::AABB; use cdl::shape::Shape; -#[cfg(feature = "dim2")] -use cdl::shape::{ConvexPolygon, RoundConvexPolygon}; bitflags::bitflags! { #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] diff --git a/src/geometry/collider_shape.rs b/src/geometry/collider_shape.rs index 05067ef..ed91b82 100644 --- a/src/geometry/collider_shape.rs +++ b/src/geometry/collider_shape.rs @@ -154,6 +154,14 @@ impl ColliderShape { let mut parts = vec![]; let decomp = VHACD::decompose(params, &vertices, &indices, true); + #[cfg(feature = "dim2")] + for vertices in decomp.compute_exact_convex_hulls(&vertices, &indices) { + if let Some(convex) = Self::convex_polyline(vertices) { + parts.push((Isometry::identity(), convex)); + } + } + + #[cfg(feature = "dim3")] for (vertices, indices) in decomp.compute_exact_convex_hulls(&vertices, &indices) { if let Some(convex) = Self::convex_mesh(vertices, &indices) { parts.push((Isometry::identity(), convex)); @@ -174,6 +182,14 @@ impl ColliderShape { let mut parts = vec![]; let decomp = VHACD::decompose(params, &vertices, &indices, true); + #[cfg(feature = "dim2")] + for vertices in decomp.compute_exact_convex_hulls(&vertices, &indices) { + if let Some(convex) = Self::round_convex_polyline(vertices, border_radius) { + parts.push((Isometry::identity(), convex)); + } + } + + #[cfg(feature = "dim3")] for (vertices, indices) in decomp.compute_exact_convex_hulls(&vertices, &indices) { if let Some(convex) = Self::round_convex_mesh(vertices, &indices, border_radius) { parts.push((Isometry::identity(), convex)); |
