MCPcopy Create free account
hub / github.com/Geode-solutions/OpenGeode / test_point_side_to_segment

Function test_point_side_to_segment

tests/geometry/test-position.cpp:37–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35#include <geode/tests/common.hpp>
36
37void test_point_side_to_segment()
38{
39 const geode::Point2D a{ { 0.0, 0.0 } };
40 const geode::Point2D b{ { 1.0, 0.0 } };
41 const geode::Segment2D segment2D{ a, b };
42
43 const auto side_a = geode::point_side_to_segment( a, segment2D );
44 geode::OpenGeodeGeometryException::test( side_a == geode::SIDE::zero,
45 "Wrong result for point_side_to_segment with query point "
46 "a" );
47
48 const auto side_b = geode::point_side_to_segment( b, segment2D );
49 geode::OpenGeodeGeometryException::test( side_b == geode::SIDE::zero,
50 "Wrong result for point_side_to_segment with query point "
51 "b" );
52
53 const geode::Point2D q1{ { 0.5, 0 } };
54 const auto side_q1 = geode::point_side_to_segment( q1, segment2D );
55 geode::OpenGeodeGeometryException::test( side_q1 == geode::SIDE::zero,
56 "Wrong result for point_side_to_segment with query point "
57 "q1" );
58
59 const geode::Point2D q2{ { 10.0, 0 } };
60 const auto side_q2 = geode::point_side_to_segment( q2, segment2D );
61 geode::OpenGeodeGeometryException::test( side_q2 == geode::SIDE::zero,
62 "Wrong result for point_side_to_segment with query point "
63 "q2" );
64
65 const geode::Point2D q3{ { 0.3, 2.0 } };
66 const auto side_q3 = geode::point_side_to_segment( q3, segment2D );
67 geode::OpenGeodeGeometryException::test( side_q3 == geode::SIDE::positive,
68 "Wrong result for point_side_to_segment with query point "
69 "q3" );
70
71 const geode::Point2D q4{ { 12.0, -6.0 } };
72 const auto side_q4 = geode::point_side_to_segment( q4, segment2D );
73 geode::OpenGeodeGeometryException::test( side_q4 == geode::SIDE::negative,
74 "Wrong result for point_side_to_segment with query point "
75 "q4" );
76
77 const geode::Point2D q5{ { 0.0, -1e-10 } };
78 const auto side_q5 = geode::point_side_to_segment( q5, segment2D );
79 geode::OpenGeodeGeometryException::test( side_q5 == geode::SIDE::negative,
80 "Wrong result for point_side_to_segment with query point "
81 "q5" );
82}
83
84void test_point_side_to_plane()
85{

Callers 1

testFunction · 0.70

Calls 2

point_side_to_segmentFunction · 0.85
testFunction · 0.70

Tested by

no test coverage detected