summaryrefslogtreecommitdiff
path: root/digital/avr/modules/math/geometry/test/test_geometry.c
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-05 19:02:53 +0200
committerNicolas Schodet2012-05-05 19:02:53 +0200
commit0fcdbb1904c2f1c32c80ebe4da367742ef6e00bc (patch)
treec759272b7853cbc0ae4b0941d49ccc7e9291169f /digital/avr/modules/math/geometry/test/test_geometry.c
parente50baf1bcea86bd969b7d87e9dd643607ef7f161 (diff)
digital/avr/modules/math/geometry: slightly change intersection meaning
When a segment end is exactly on the other segment, consider there is no intersection.
Diffstat (limited to 'digital/avr/modules/math/geometry/test/test_geometry.c')
-rw-r--r--digital/avr/modules/math/geometry/test/test_geometry.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/digital/avr/modules/math/geometry/test/test_geometry.c b/digital/avr/modules/math/geometry/test/test_geometry.c
index 3466ad06..35511fa8 100644
--- a/digital/avr/modules/math/geometry/test/test_geometry.c
+++ b/digital/avr/modules/math/geometry/test/test_geometry.c
@@ -245,6 +245,7 @@ test_intersection (void)
vect_t v02 = { 0, 20 };
vect_t v20 = { 20, 0 };
vect_t v22 = { 20, 20 };
+ vect_t v11 = { 10, 10 };
vect_t v44 = { 40, 40 };
test (intersection_segment_segment (&v00, &v22, &v20, &v02) == 1);
test (intersection_segment_segment (&v00, &v22, &v02, &v20) == 1);
@@ -255,6 +256,8 @@ test_intersection (void)
test (intersection_segment_segment (&v22, &v44, &v02, &v20) == 0);
test (intersection_segment_segment (&v00, &v44, &v02, &v20) == 1);
test (intersection_segment_segment (&v44, &v00, &v02, &v20) == 1);
+ test (intersection_segment_segment (&v44, &v00, &v11, &v20) == 0);
+ test (intersection_segment_segment (&v44, &v00, &v20, &v11) == 0);
vect_t poly[] = { { 10, 0 }, { 0, 10 }, { -10, 0 }, { 0, -10 } };
vect_t a = { 20, 10 };
vect_t b = { 10, 20 };