12 #include <gtest/gtest.h>
19 TEST(Geometry, Line2DIntersect)
28 EXPECT_TRUE(do_inter);
33 EXPECT_NEAR(i.
x, 0.5, 1e-9);
34 EXPECT_NEAR(i.
y, 0.5, 1e-9);
37 TEST(Geometry, Segment2DIntersect)
47 EXPECT_TRUE(do_inter);
52 EXPECT_NEAR(i.
x, 0.5, 1e-9);
53 EXPECT_NEAR(i.
y, 0.5, 1e-9);
64 EXPECT_FALSE(do_inter);
75 EXPECT_FALSE(do_inter);
79 TEST(Geometry, Intersection3D)
96 inter.getSegment(test);
125 EXPECT_TRUE(
intersect(s3d1, s3d2, inter));
140 EXPECT_TRUE(
intersect(s3d1, s3d2, inter));
145 inter.getPoint(test);
146 EXPECT_EQ(expect, test);
150 TEST(Geometry, IntersectionPlanePlane)
166 EXPECT_FALSE(
intersect(plane1, plane2, inter));
182 EXPECT_TRUE(
intersect(plane1, plane2, inter));
199 EXPECT_TRUE(
intersect(plane1, plane2, inter));
222 TEST(Geometry, PolygonConvexContainsPoint)
225 std::vector<TPoint2D> vs;
232 std::reverse(vs.begin(), vs.end());
237 p.AddVertex(0, -0.322);
238 p.AddVertex(-0.644, -0.322);
239 p.AddVertex(-0.210377, -0.324673);
240 p.AddVertex(0.433623, -0.324673);
242 EXPECT_FALSE(
p.contains(
TPoint2D(0.73175, -0.325796)));
246 TEST(Geometry, PolygonConcaveContainsPoint)
249 std::vector<TPoint2D> vs;
262 std::reverse(vs.begin(), vs.end());