Skip to content

Conversation

@ThierryBerger
Copy link
Contributor

Currently only failing tests, which serves as a discussion starter.

The panic is documented in spade, I think we should sanitize edges parameters sent to

ConstrainedDelaunayTriangulation::bulk_load_cdt_stable(planar_points, edges)?;

Backtrace:

thread 'query::gjk::gjk::test::test_mesh_intersection_2' panicked at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/cdt.rs:898:26:
The new constraint edge intersects an existing constraint edge.
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
   2: core::panicking::panic_display
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:261:5
   3: core::option::expect_failed
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/option.rs:2024:5
   4: core::option::Option<T>::expect
             at /home/tb/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:933:21
   5: spade::cdt::ConstrainedDelaunayTriangulation<V,DE,UE,F,L>::resolve_splitting_constraint_request
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/cdt.rs:897:38
   6: spade::cdt::ConstrainedDelaunayTriangulation<V,DE,UE,F,L>::add_constraint
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/cdt.rs:551:9
   7: spade::delaunay_core::bulk_load::bulk_load_cdt::{{closure}}
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/delaunay_core/bulk_load.rs:244:21
   8: spade::delaunay_core::bulk_load::bulk_load_cdt
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/delaunay_core/bulk_load.rs:295:13
   9: spade::cdt::ConstrainedDelaunayTriangulation<V,DE,UE,F,L>::bulk_load_cdt_stable::{{closure}}
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/cdt.rs:391:46
  10: spade::delaunay_core::bulk_load::bulk_load_stable
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/delaunay_core/bulk_load.rs:381:28
  11: spade::cdt::ConstrainedDelaunayTriangulation<V,DE,UE,F,L>::bulk_load_cdt_stable
             at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spade-2.13.1/src/cdt.rs:391:13
  12: triangulate_constraints_and_merge_duplicates
             at ./../../src/transformation/mesh_intersection/mesh_intersection.rs:466:9
  13: parry3d::transformation::mesh_intersection::mesh_intersection::merge_triangle_sets
             at ./../../src/transformation/mesh_intersection/mesh_intersection.rs:640:34
  14: parry3d::transformation::mesh_intersection::mesh_intersection::intersect_meshes_with_tolerances
             at ./../../src/transformation/mesh_intersection/mesh_intersection.rs:254:5
  15: test_mesh_intersection_2
             at ./../../src/query/gjk/gjk.rs:446:26
  16: parry3d::query::gjk::gjk::test::test_mesh_intersection_2::{{closure}}
             at ./../../src/query/gjk/gjk.rs:433:34
  17: core::ops::function::FnOnce::call_once
             at /home/tb/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  18: core::ops::function::FnOnce::call_once
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
test query::gjk::gjk::test::test_mesh_intersection_2 ... FAILED

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant