-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Description
Following test is always leading to infinite loop on my machine. Something with max_iterations
in intersection_time_of_impact
went wrong I guess?
#[test()]
fn gjk_infinite_loop() {
use cgmath::*;
use collision::primitive::{Circle, Primitive2, Rectangle};
use collision::{algorithm::broad_phase::DbvtBroadPhase, algorithm::minkowski::GJK2};
let gjk: GJK2<f32> = GJK2::new();
let rect_transform: Decomposed<Vector2<f32>, Basis2<f32>> = Decomposed {
disp: Vector2::new(164.1754, -13.967552),
rot: Rotation2::from_angle(Rad(std::f32::consts::PI / 2.)),
..Decomposed::one()
};
let start_transform: Decomposed<Vector2<f32>, Basis2<f32>> = Decomposed {
disp: Vector2::new(158.0754, -5.287695),
..Decomposed::one()
};
let end_transform: Decomposed<Vector2<f32>, Basis2<f32>> = Decomposed {
disp: Vector2::new(159.39767, -6.6099815),
..Decomposed::one()
};
let circle = Circle::new(1.);
let rect = Rectangle::new(50., 10.);
let contact = gjk.intersection_time_of_impact(
&circle,
&start_transform..&end_transform,
&rect,
&rect_transform..&rect_transform,
);
}
kvark and DomWilliams0