use vector_traits::approx::ulps_eq;
use vector_traits::glam::DVec3;
use hronn::debug_access::{debug_cone_to_edge_collision, xy_distance_to_line_squared};
fn compare_results(
cz: Option<f64>,
mt: Option<f64>,
center: (f64, f64),
p0: DVec3,
p1: DVec3,
cr: f64,
ch: f64,
) {
match (cz, mt) {
(Some(cz), Some(max)) => {
assert!(
ulps_eq!(cz, max, max_ulps = 1),
"center:{center:?}, p0:{p0:}, p1:{p1:}, cr:{cr} ch:{ch} cz:{cz:?} != mt:{max:?}"
);
}
(Some(_), None) | (None, Some(_)) => {
unreachable!(
"center:{:?}, p0:{:}, p1:{:}, cr:{}, ch:{}, cz:{:?} != mt:{:?}",
center, p0, p1, cr, ch, cz, mt
);
}
(None, None) => {
}
}
}
fn test_edge_cone_1() {
#[rustfmt::skip]
let test_data: [(Option<f64>, (f64, f64)); 368] = [
(None, (-0.9011631578947368, -1.0273421052631577)),
(None, (-1.3013, -0.4794263157894737)), (None, (-1.3013, -0.3424473684210527)), (None, (-1.3013, -0.20546842105263163)),
(None, (-1.3013, -0.06848947368421054)), (None, (-1.3013, 0.06848947368421054)), (None, (-1.3013, 0.2054684210526314)),
(None, (-1.3013, 0.3424473684210525)), (None, (-1.3013, 0.4794263157894736)),
(Some(-0.9744795576784545), (-0.9011631578947368, -0.8903631578947369)), (Some(-0.9035376906757686), (-0.9011631578947368, -0.7533842105263158)), (Some(-0.8398543426811903), (-0.9011631578947368, -0.6164052631578947)),
(Some(-0.7851976080449157), (-0.9011631578947368, -0.4794263157894737)), (Some(-0.74156608522013), (-0.9011631578947368, -0.3424473684210527)), (Some(-0.7109924346490689), (-0.9011631578947368, -0.20546842105263163)),
(Some(-0.69520157783046), (-0.9011631578947368, -0.06848947368421054)), (Some(-0.69520157783046), (-0.9011631578947368, 0.06848947368421054)), (Some(-0.7109924346490689), (-0.9011631578947368, 0.2054684210526314)),
(Some(-0.74156608522013), (-0.9011631578947368, 0.3424473684210525)), (Some(-0.7851976080449157), (-0.9011631578947368, 0.4794263157894736)), (Some(-0.8398543426811901), (-0.9011631578947368, 0.6164052631578945)),
(Some(-0.9035376906757684), (-0.9011631578947368, 0.7533842105263155)), (Some(-0.9744795576784545), (-0.9011631578947368, 0.8903631578947366)), (None, (-0.9011631578947368, 1.0273421052631577)),
(None, (-0.5010263157894737, -1.3013)), (Some(-0.969116259582213), (-0.5010263157894737, -1.1643210526315788)), (Some(-0.8754266524389478), (-0.5010263157894737, -1.0273421052631577)),
(Some(-0.7854245022891934), (-0.5010263157894737, -0.8903631578947369)), (Some(-0.6959796372692607), (-0.5010263157894737, -0.7533842105263158)), (Some(-0.6110340530135822), (-0.5010263157894737, -0.6164052631578947)),
(Some(-0.5334253281399449), (-0.5010263157894737, -0.4794263157894737)), (Some(-0.4668271155047231), (-0.5010263157894737, -0.3424473684210527)), (Some(-0.4165543651793382), (-0.5010263157894737, -0.20546842105263163)),
(Some(-0.3889891140375424), (-0.5010263157894737, -0.06848947368421054)), (Some(-0.3889891140375424), (-0.5010263157894737, 0.06848947368421054)), (Some(-0.41655436517933814), (-0.5010263157894737, 0.2054684210526314)),
(Some(-0.46682711550472306), (-0.5010263157894737, 0.3424473684210525)), (Some(-0.5334253281399449), (-0.5010263157894737, 0.4794263157894736)), (Some(-0.611034053013582), (-0.5010263157894737, 0.6164052631578945)),
(Some(-0.6959796372692606), (-0.5010263157894737, 0.7533842105263155)), (Some(-0.7854245022891932), (-0.5010263157894737, 0.8903631578947366)), (Some(-0.8754266524389478), (-0.5010263157894737, 1.0273421052631577)),
(Some(-0.969116259582213), (-0.5010263157894737, 1.1643210526315788)), (None, (-0.5010263157894737, 1.3013)), (None, (-0.10088947368421053, -1.3013)),
(Some(-0.8090615227401078), (-0.10088947368421053, -1.1643210526315788)), (Some(-0.7153719155968425), (-0.10088947368421053, -1.0273421052631577)), (Some(-0.6253697654470881), (-0.10088947368421053, -0.8903631578947369)),
(Some(-0.5353676152973337), (-0.10088947368421053, -0.7533842105263158)), (Some(-0.44536546514757913), (-0.10088947368421053, -0.6164052631578947)), (Some(-0.3553633149978248), (-0.10088947368421053, -0.4794263157894737)),
(Some(-0.26536116484807043), (-0.10088947368421053, -0.3424473684210527)), (Some(-0.1753590146983159), (-0.10088947368421053, -0.20546842105263163)), (Some(-0.0938004110014121), (-0.10088947368421053, -0.06848947368421054)),
(Some(-0.0938004110014121), (-0.10088947368421053, 0.06848947368421054)), (Some(-0.17535901469831577), (-0.10088947368421053, 0.2054684210526314)), (Some(-0.26536116484807026), (-0.10088947368421053, 0.3424473684210525)),
(Some(-0.3553633149978248), (-0.10088947368421053, 0.4794263157894736)), (Some(-0.445365465147579), (-0.10088947368421053, 0.6164052631578945)), (Some(-0.5353676152973335), (-0.10088947368421053, 0.7533842105263155)),
(Some(-0.625369765447088), (-0.10088947368421053, 0.8903631578947366)), (Some(-0.7153719155968425), (-0.10088947368421053, 1.0273421052631577)), (Some(-0.8090615227401078), (-0.10088947368421053, 1.1643210526315788)),
(None, (-0.10088947368421053, 1.3013)), (None, (0.2992473684210526, -1.3013)), (Some(-0.6490067858980024), (0.2992473684210526, -1.1643210526315788)),
(Some(-0.5553171787547373), (0.2992473684210526, -1.0273421052631577)), (Some(-0.46531502860498286), (0.2992473684210526, -0.8903631578947369)), (Some(-0.3753128784552284), (0.2992473684210526, -0.7533842105263158)),
(Some(-0.2853107283054739), (0.2992473684210526, -0.6164052631578947)), (Some(-0.1953085781557196), (0.2992473684210526, -0.4794263157894737)), (Some(-0.10530642800596515), (0.2992473684210526, -0.3424473684210527)),
(Some(-0.015304277856210663), (0.2992473684210526, -0.20546842105263163)), (Some(0.0746978722935438), (0.2992473684210526, -0.06848947368421054)), (Some(0.0746978722935438), (0.2992473684210526, 0.06848947368421054)),
(Some(-0.015304277856210524), (0.2992473684210526, 0.2054684210526314)), (Some(-0.10530642800596499), (0.2992473684210526, 0.3424473684210525)), (Some(-0.1953085781557195), (0.2992473684210526, 0.4794263157894736)),
(Some(-0.28531072830547377), (0.2992473684210526, 0.6164052631578945)), (Some(-0.3753128784552282), (0.2992473684210526, 0.7533842105263155)), (Some(-0.46531502860498275), (0.2992473684210526, 0.8903631578947366)),
(Some(-0.5553171787547373), (0.2992473684210526, 1.0273421052631577)), (Some(-0.6490067858980024), (0.2992473684210526, 1.1643210526315788)), (None, (0.2992473684210526, 1.3013)),
(None, (0.6993842105263157, -1.3013)), (Some(-0.4889520490558974), (0.6993842105263157, -1.1643210526315788)), (Some(-0.39526244191263205), (0.6993842105263157, -1.0273421052631577)),
(Some(-0.30526029176287756), (0.6993842105263157, -0.8903631578947369)), (Some(-0.21525814161312312), (0.6993842105263157, -0.7533842105263158)), (Some(-0.12525599146336858), (0.6993842105263157, -0.6164052631578947)),
(Some(-0.03525384131361431), (0.6993842105263157, -0.4794263157894737)), (Some(0.054748308836140125), (0.6993842105263157, -0.3424473684210527)), (Some(0.14475045898589464), (0.6993842105263157, -0.20546842105263163)),
(Some(0.23475260913564908), (0.6993842105263157, -0.06848947368421054)), (Some(0.23475260913564908), (0.6993842105263157, 0.06848947368421054)), (Some(0.14475045898589478), (0.6993842105263157, 0.2054684210526314)),
(Some(0.05474830883614029), (0.6993842105263157, 0.3424473684210525)), (Some(-0.035253841313614254), (0.6993842105263157, 0.4794263157894736)), (Some(-0.12525599146336852), (0.6993842105263157, 0.6164052631578945)),
(Some(-0.21525814161312296), (0.6993842105263157, 0.7533842105263155)), (Some(-0.3052602917628775), (0.6993842105263157, 0.8903631578947366)), (Some(-0.39526244191263205), (0.6993842105263157, 1.0273421052631577)),
(Some(-0.4889520490558974), (0.6993842105263157, 1.1643210526315788)), (None, (0.6993842105263157, 1.3013)), (None, (1.0995210526315788, -1.3013)),
(Some(-0.32889731221379204), (1.0995210526315788, -1.1643210526315788)), (Some(-0.2352077050705268), (1.0995210526315788, -1.0273421052631577)), (Some(-0.14520555492077225), (1.0995210526315788, -0.8903631578947369)),
(Some(-0.05520340477101793), (1.0995210526315788, -0.7533842105263158)), (Some(0.03479874537873673), (1.0995210526315788, -0.6164052631578947)), (Some(0.12480089552849088), (1.0995210526315788, -0.4794263157894737)),
(Some(0.21480304567824543), (1.0995210526315788, -0.3424473684210527)), (Some(0.3048051958279999), (1.0995210526315788, -0.20546842105263163)), (Some(0.39480734597775435), (1.0995210526315788, -0.06848947368421054)),
(Some(0.39480734597775435), (1.0995210526315788, 0.06848947368421054)), (Some(0.30480519582800003), (1.0995210526315788, 0.2054684210526314)), (Some(0.21480304567824554), (1.0995210526315788, 0.3424473684210525)),
(Some(0.124800895528491), (1.0995210526315788, 0.4794263157894736)), (Some(0.03479874537873673), (1.0995210526315788, 0.6164052631578945)), (Some(-0.055203404771017706), (1.0995210526315788, 0.7533842105263155)),
(Some(-0.14520555492077225), (1.0995210526315788, 0.8903631578947366)), (Some(-0.2352077050705268), (1.0995210526315788, 1.0273421052631577)), (Some(-0.32889731221379204), (1.0995210526315788, 1.1643210526315788)),
(None, (1.0995210526315788, 1.3013)), (None, (1.499657894736842, -1.3013)), (Some(-0.1688425753716869), (1.499657894736842, -1.1643210526315788)),
(Some(-0.07515296822842155), (1.499657894736842, -1.0273421052631577)), (Some(0.014849181921332888), (1.499657894736842, -0.8903631578947369)), (Some(0.10485133207108732), (1.499657894736842, -0.7533842105263158)),
(Some(0.19485348222084187), (1.499657894736842, -0.6164052631578947)), (Some(0.28485563237059613), (1.499657894736842, -0.4794263157894737)), (Some(0.37485778252035057), (1.499657894736842, -0.3424473684210527)),
(Some(0.46485993267010506), (1.499657894736842, -0.20546842105263163)), (Some(0.5548620828198596), (1.499657894736842, -0.06848947368421054)), (Some(0.5548620828198596), (1.499657894736842, 0.06848947368421054)),
(Some(0.46485993267010517), (1.499657894736842, 0.2054684210526314)), (Some(0.3748577825203507), (1.499657894736842, 0.3424473684210525)), (Some(0.28485563237059625), (1.499657894736842, 0.4794263157894736)),
(Some(0.19485348222084187), (1.499657894736842, 0.6164052631578945)), (Some(0.10485133207108754), (1.499657894736842, 0.7533842105263155)), (Some(0.014849181921332999), (1.499657894736842, 0.8903631578947366)),
(Some(-0.07515296822842155), (1.499657894736842, 1.0273421052631577)), (Some(-0.1688425753716869), (1.499657894736842, 1.1643210526315788)), (None, (1.499657894736842, 1.3013)),
(None, (1.899794736842105, -1.3013)), (Some(-0.008787838529581538), (1.899794736842105, -1.1643210526315788)), (Some(0.0849017686136837), (1.899794736842105, -1.0273421052631577)),
(Some(0.17490391876343825), (1.899794736842105, -0.8903631578947369)), (Some(0.2649060689131927), (1.899794736842105, -0.7533842105263158)), (Some(0.35490821906294723), (1.899794736842105, -0.6164052631578947)),
(Some(0.4449103692127015), (1.899794736842105, -0.4794263157894737)), (Some(0.534912519362456), (1.899794736842105, -0.3424473684210527)), (Some(0.6249146695122104), (1.899794736842105, -0.20546842105263163)),
(Some(0.714916819661965), (1.899794736842105, -0.06848947368421054)), (Some(0.714916819661965), (1.899794736842105, 0.06848947368421054)), (Some(0.6249146695122105), (1.899794736842105, 0.2054684210526314)),
(Some(0.5349125193624562), (1.899794736842105, 0.3424473684210525)), (Some(0.4449103692127016), (1.899794736842105, 0.4794263157894736)), (Some(0.35490821906294734), (1.899794736842105, 0.6164052631578945)),
(Some(0.2649060689131928), (1.899794736842105, 0.7533842105263155)), (Some(0.17490391876343836), (1.899794736842105, 0.8903631578947366)), (Some(0.0849017686136837), (1.899794736842105, 1.0273421052631577)),
(Some(-0.008787838529581538), (1.899794736842105, 1.1643210526315788)), (None, (1.899794736842105, 1.3013)), (None, (2.299931578947368, -1.3013)),
(Some(0.15126689831252382), (2.299931578947368, -1.1643210526315788)), (Some(0.24495650545578895), (2.299931578947368, -1.0273421052631577)), (Some(0.3349586556055435), (2.299931578947368, -0.8903631578947369)),
(Some(0.42496080575529804), (2.299931578947368, -0.7533842105263158)), (Some(0.5149629559050525), (2.299931578947368, -0.6164052631578947)), (Some(0.6049651060548067), (2.299931578947368, -0.4794263157894737)),
(Some(0.6949672562045612), (2.299931578947368, -0.3424473684210527)), (Some(0.7849694063543157), (2.299931578947368, -0.20546842105263163)), (Some(0.8749715565040702), (2.299931578947368, -0.06848947368421054)),
(Some(0.8749715565040702), (2.299931578947368, 0.06848947368421054)), (Some(0.7849694063543158), (2.299931578947368, 0.2054684210526314)), (Some(0.6949672562045615), (2.299931578947368, 0.3424473684210525)),
(Some(0.6049651060548067), (2.299931578947368, 0.4794263157894736)), (Some(0.5149629559050526), (2.299931578947368, 0.6164052631578945)), (Some(0.42496080575529804), (2.299931578947368, 0.7533842105263155)),
(Some(0.3349586556055436), (2.299931578947368, 0.8903631578947366)), (Some(0.24495650545578895), (2.299931578947368, 1.0273421052631577)), (Some(0.15126689831252382), (2.299931578947368, 1.1643210526315788)),
(None, (2.299931578947368, 1.3013)), (None, (2.7000684210526313, -1.3013)), (Some(0.31132163515462885), (2.7000684210526313, -1.1643210526315788)),
(Some(0.4050112422978942), (2.7000684210526313, -1.0273421052631577)), (Some(0.49501339244764875), (2.7000684210526313, -0.8903631578947369)), (Some(0.5850155425974033), (2.7000684210526313, -0.7533842105263158)),
(Some(0.6750176927471577), (2.7000684210526313, -0.6164052631578947)), (Some(0.7650198428969119), (2.7000684210526313, -0.4794263157894737)), (Some(0.8550219930466665), (2.7000684210526313, -0.3424473684210527)),
(Some(0.9450241431964208), (2.7000684210526313, -0.20546842105263163)), (Some(1.0350262933461754), (2.7000684210526313, -0.06848947368421054)), (Some(1.0350262933461754), (2.7000684210526313, 0.06848947368421054)),
(Some(0.945024143196421), (2.7000684210526313, 0.2054684210526314)), (Some(0.8550219930466667), (2.7000684210526313, 0.3424473684210525)), (Some(0.7650198428969119), (2.7000684210526313, 0.4794263157894736)),
(Some(0.6750176927471578), (2.7000684210526313, 0.6164052631578945)), (Some(0.5850155425974033), (2.7000684210526313, 0.7533842105263155)), (Some(0.49501339244764886), (2.7000684210526313, 0.8903631578947366)),
(Some(0.4050112422978942), (2.7000684210526313, 1.0273421052631577)), (Some(0.31132163515462885), (2.7000684210526313, 1.1643210526315788)), (None, (2.7000684210526313, 1.3013)),
(None, (3.100205263157894, -1.3013)), (Some(0.4713763719967341), (3.100205263157894, -1.1643210526315788)), (Some(0.5650659791399995), (3.100205263157894, -1.0273421052631577)),
(Some(0.6550681292897538), (3.100205263157894, -0.8903631578947369)), (Some(0.7450702794395081), (3.100205263157894, -0.7533842105263158)), (Some(0.8350724295892628), (3.100205263157894, -0.6164052631578947)),
(Some(0.9250745797390172), (3.100205263157894, -0.4794263157894737)), (Some(1.0150767298887715), (3.100205263157894, -0.3424473684210527)), (Some(1.1050788800385258), (3.100205263157894, -0.20546842105263163)),
(Some(1.1950810301882804), (3.100205263157894, -0.06848947368421054)), (Some(1.1950810301882804), (3.100205263157894, 0.06848947368421054)), (Some(1.105078880038526), (3.100205263157894, 0.2054684210526314)),
(Some(1.0150767298887717), (3.100205263157894, 0.3424473684210525)), (Some(0.925074579739017), (3.100205263157894, 0.4794263157894736)), (Some(0.8350724295892629), (3.100205263157894, 0.6164052631578945)),
(Some(0.7450702794395083), (3.100205263157894, 0.7533842105263155)), (Some(0.6550681292897539), (3.100205263157894, 0.8903631578947366)), (Some(0.5650659791399995), (3.100205263157894, 1.0273421052631577)),
(Some(0.4713763719967341), (3.100205263157894, 1.1643210526315788)), (None, (3.100205263157894, 1.3013)), (None, (3.5003421052631576, -1.3013)),
(Some(0.6314311088388394), (3.5003421052631576, -1.1643210526315788)), (Some(0.7251207159821047), (3.5003421052631576, -1.0273421052631577)), (Some(0.8151228661318592), (3.5003421052631576, -0.8903631578947369)),
(Some(0.9051250162816138), (3.5003421052631576, -0.7533842105263158)), (Some(0.9951271664313682), (3.5003421052631576, -0.6164052631578947)), (Some(1.0851293165811224), (3.5003421052631576, -0.4794263157894737)),
(Some(1.175131466730877), (3.5003421052631576, -0.3424473684210527)), (Some(1.2651336168806313), (3.5003421052631576, -0.20546842105263163)), (Some(1.3551357670303859), (3.5003421052631576, -0.06848947368421054)),
(Some(1.3551357670303859), (3.5003421052631576, 0.06848947368421054)), (Some(1.2651336168806315), (3.5003421052631576, 0.2054684210526314)), (Some(1.1751314667308772), (3.5003421052631576, 0.3424473684210525)),
(Some(1.0851293165811224), (3.5003421052631576, 0.4794263157894736)), (Some(0.9951271664313683), (3.5003421052631576, 0.6164052631578945)), (Some(0.9051250162816138), (3.5003421052631576, 0.7533842105263155)),
(Some(0.8151228661318594), (3.5003421052631576, 0.8903631578947366)), (Some(0.7251207159821047), (3.5003421052631576, 1.0273421052631577)), (Some(0.6314311088388394), (3.5003421052631576, 1.1643210526315788)),
(None, (3.5003421052631576, 1.3013)), (None, (3.900478947368421, -1.3013)), (Some(0.7914858456809449), (3.900478947368421, -1.1643210526315788)),
(Some(0.8851754528242104), (3.900478947368421, -1.0273421052631577)), (Some(0.9751776029739647), (3.900478947368421, -0.8903631578947369)), (Some(1.065179753123719), (3.900478947368421, -0.7533842105263158)),
(Some(1.1551819032734736), (3.900478947368421, -0.6164052631578947)), (Some(1.2451840534232281), (3.900478947368421, -0.4794263157894737)), (Some(1.3351862035729825), (3.900478947368421, -0.3424473684210527)),
(Some(1.4251883537227368), (3.900478947368421, -0.20546842105263163)), (Some(1.5151905038724913), (3.900478947368421, -0.06848947368421054)), (Some(1.5151905038724913), (3.900478947368421, 0.06848947368421054)),
(Some(1.425188353722737), (3.900478947368421, 0.2054684210526314)), (Some(1.3351862035729827), (3.900478947368421, 0.3424473684210525)), (Some(1.245184053423228), (3.900478947368421, 0.4794263157894736)),
(Some(1.1551819032734738), (3.900478947368421, 0.6164052631578945)), (Some(1.0651797531237193), (3.900478947368421, 0.7533842105263155)), (Some(0.9751776029739648), (3.900478947368421, 0.8903631578947366)),
(Some(0.8851754528242104), (3.900478947368421, 1.0273421052631577)), (Some(0.7914858456809449), (3.900478947368421, 1.1643210526315788)), (None, (3.900478947368421, 1.3013)),
(None, (4.300615789473683, -1.3013)), (Some(0.9515405825230496), (4.300615789473683, -1.1643210526315788)), (Some(1.0452301896663152), (4.300615789473683, -1.0273421052631577)),
(Some(1.1352323398160695), (4.300615789473683, -0.8903631578947369)), (Some(1.2252344899658238), (4.300615789473683, -0.7533842105263158)), (Some(1.3152366401155784), (4.300615789473683, -0.6164052631578947)),
(Some(1.405238790265333), (4.300615789473683, -0.4794263157894737)), (Some(1.4952409404150873), (4.300615789473683, -0.3424473684210527)), (Some(1.5852430905648416), (4.300615789473683, -0.20546842105263163)),
(Some(1.6752452407145961), (4.300615789473683, -0.06848947368421054)), (Some(1.6752452407145961), (4.300615789473683, 0.06848947368421054)), (Some(1.5852430905648418), (4.300615789473683, 0.2054684210526314)),
(Some(1.4952409404150875), (4.300615789473683, 0.3424473684210525)), (Some(1.4052387902653327), (4.300615789473683, 0.4794263157894736)), (Some(1.3152366401155786), (4.300615789473683, 0.6164052631578945)),
(Some(1.225234489965824), (4.300615789473683, 0.7533842105263155)), (Some(1.1352323398160697), (4.300615789473683, 0.8903631578947366)), (Some(1.0452301896663152), (4.300615789473683, 1.0273421052631577)),
(Some(0.9515405825230496), (4.300615789473683, 1.1643210526315788)), (None, (4.300615789473683, 1.3013)), (None, (4.700752631578947, -1.3013)),
(Some(1.075260311341672), (4.700752631578947, -1.1643210526315788)), (Some(1.1768940376246162), (4.700752631578947, -1.0273421052631577)), (Some(1.2774570136482106), (4.700752631578947, -0.8903631578947369)),
(Some(1.376430984361261), (4.700752631578947, -0.7533842105263158)), (Some(1.472920048082438), (4.700752631578947, -0.6164052631578947)), (Some(1.5652935271074382), (4.700752631578947, -0.4794263157894737)),
(Some(1.6552956772571927), (4.700752631578947, -0.3424473684210527)), (Some(1.745297827406947), (4.700752631578947, -0.20546842105263163)), (Some(1.8352999775567016), (4.700752631578947, -0.06848947368421054)),
(Some(1.8352999775567016), (4.700752631578947, 0.06848947368421054)), (Some(1.7452978274069473), (4.700752631578947, 0.2054684210526314)), (Some(1.655295677257193), (4.700752631578947, 0.3424473684210525)),
(Some(1.5652935271074382), (4.700752631578947, 0.4794263157894736)), (Some(1.4729200480824383), (4.700752631578947, 0.6164052631578945)), (Some(1.376430984361261), (4.700752631578947, 0.7533842105263155)),
(Some(1.277457013648211), (4.700752631578947, 0.8903631578947366)), (Some(1.1768940376246162), (4.700752631578947, 1.0273421052631577)), (Some(1.075260311341672), (4.700752631578947, 1.1643210526315788)),
(None, (4.700752631578947, 1.3013)), (None, (5.1008894736842105, -1.3013)), (Some(1.101012338086329), (5.1008894736842105, -1.1643210526315788)),
(Some(1.205935298737556), (5.1008894736842105, -1.0273421052631577)), (Some(1.310722340693339), (5.1008894736842105, -0.8903631578947369)), (Some(1.4153003833097089), (5.1008894736842105, -0.7533842105263158)),
(Some(1.5195329353571392), (5.1008894736842105, -0.6164052631578947)), (Some(1.6231332238502183), (5.1008894736842105, -0.4794263157894737)), (Some(1.7253847381612197), (5.1008894736842105, -0.3424473684210527)),
(Some(1.8239218201642147), (5.1008894736842105, -0.20546842105263163)), (Some(1.9061995889985879), (5.1008894736842105, -0.06848947368421054)), (Some(1.9061995889985879), (5.1008894736842105, 0.06848947368421054)),
(Some(1.823921820164215), (5.1008894736842105, 0.2054684210526314)), (Some(1.72538473816122), (5.1008894736842105, 0.3424473684210525)), (Some(1.6231332238502183), (5.1008894736842105, 0.4794263157894736)),
(Some(1.5195329353571396), (5.1008894736842105, 0.6164052631578945)), (Some(1.415300383309709), (5.1008894736842105, 0.7533842105263155)), (Some(1.3107223406933393), (5.1008894736842105, 0.8903631578947366)),
(Some(1.205935298737556), (5.1008894736842105, 1.0273421052631577)), (Some(1.101012338086329), (5.1008894736842105, 1.1643210526315788)), (None, (5.1008894736842105, 1.3013)),
(None, (5.501026315789474, -1.3013)), (Some(1.0249652160006355), (5.501026315789474, -1.1643210526315788)), (Some(1.1207658084863323), (5.501026315789474, -1.0273421052631577)),
(Some(1.214113427169704), (5.501026315789474, -0.8903631578947369)), (Some(1.3040203627307392), (5.501026315789474, -0.7533842105263158)), (Some(1.3889659469864175), (5.501026315789474, -0.6164052631578947)),
(Some(1.4665746718600547), (5.501026315789474, -0.4794263157894737)), (Some(1.5331728844952766), (5.501026315789474, -0.3424473684210527)), (Some(1.5834456348206614), (5.501026315789474, -0.20546842105263163)),
(Some(1.6110108859624572), (5.501026315789474, -0.06848947368421054)), (Some(1.6110108859624572), (5.501026315789474, 0.06848947368421054)), (Some(1.5834456348206616), (5.501026315789474, 0.2054684210526314)),
(Some(1.5331728844952768), (5.501026315789474, 0.3424473684210525)), (Some(1.4665746718600547), (5.501026315789474, 0.4794263157894736)), (Some(1.3889659469864177), (5.501026315789474, 0.6164052631578945)),
(Some(1.3040203627307392), (5.501026315789474, 0.7533842105263155)), (Some(1.2141134271697043), (5.501026315789474, 0.8903631578947366)), (Some(1.1207658084863323), (5.501026315789474, 1.0273421052631577)),
(Some(1.0249652160006355), (5.501026315789474, 1.1643210526315788)), (None, (5.501026315789474, 1.3013)), (None, (5.901163157894736, -1.0273421052631577)),
(Some(1.0255204423215458), (5.901163157894736, -0.8903631578947369)), (Some(1.0964623093242318), (5.901163157894736, -0.7533842105263158)), (Some(1.1601456573188103), (5.901163157894736, -0.6164052631578947)),
(Some(1.214802391955085), (5.901163157894736, -0.4794263157894737)), (Some(1.2584339147798707), (5.901163157894736, -0.3424473684210527)), (Some(1.2890075653509316), (5.901163157894736, -0.20546842105263163)),
(Some(1.3047984221695406), (5.901163157894736, -0.06848947368421054)), (Some(1.3047984221695406), (5.901163157894736, 0.06848947368421054)), (Some(1.2890075653509316), (5.901163157894736, 0.2054684210526314)),
(Some(1.2584339147798707), (5.901163157894736, 0.3424473684210525)), (Some(1.214802391955085), (5.901163157894736, 0.4794263157894736)), (Some(1.1601456573188105), (5.901163157894736, 0.6164052631578945)),
(Some(1.096462309324232), (5.901163157894736, 0.7533842105263155)), (Some(1.0255204423215458), (5.901163157894736, 0.8903631578947366)), (None, (5.901163157894736, 1.0273421052631577)),
(None, (6.3012999999999995, -0.4794263157894737)), (None, (6.3012999999999995, -0.3424473684210527)), (None, (6.3012999999999995, -0.20546842105263163)),
(None, (6.3012999999999995, -0.06848947368421054)), (None, (6.3012999999999995, 0.06848947368421054)), (None, (6.3012999999999995, 0.2054684210526314)),
(None, (6.3012999999999995, 0.3424473684210525)), (None, (6.3012999999999995, 0.4794263157894736)),
];
let p0 = DVec3::new(0.0, 0.0, 0.0);
let p1 = DVec3::new(5.0, 0.0, 2.0);
let cr = 1.3;
let ch = 1.0;
for (cz, center) in test_data {
let edge = xy_distance_to_line_squared(center.into(), p0, p1);
let rv = debug_cone_to_edge_collision(edge, cr, ch);
compare_results(cz, rv, center, p0, p1, cr, ch);
}
}
fn main() {
test_edge_cone_1();
}