Add triangle SAT intersection
This commit is contained in:
51
tests/Geometry/Geometry.cpp
Normal file
51
tests/Geometry/Geometry.cpp
Normal file
@@ -0,0 +1,51 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <J3ML/Geometry/Common.h>
|
||||
|
||||
using J3ML::Geometry::Interval;
|
||||
|
||||
TEST(CommonGeometry, Interval_Intersect) {
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{0, 1}.Intersects({2, 3})), false);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 3}.Intersects({0, 1})), false);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 4}.Intersects({3, 5})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 4}.Intersects({1, 3})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 3}.Intersects({3, 5})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{3, 5}.Intersects({2, 3})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 3}.Intersects({2, 5})), true);\
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 3}.Intersects({2, 3})), true);
|
||||
|
||||
// . a
|
||||
// . b
|
||||
EXPECT_EQ((Interval{2, 2}.Intersects({2, 2})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{2, 5}.Intersects({3, 4})), true);
|
||||
|
||||
// <- a ->
|
||||
// <- b ->
|
||||
EXPECT_EQ((Interval{3, 4}.Intersects({2, 5})), true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user