Ocean
TestFiniteLine2.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTMATH_FINITE_LINE_2_H
9 #define META_OCEAN_TEST_TESTMATH_FINITE_LINE_2_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements a 2D finite line test.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestFiniteLine2
27 {
28  public:
29 
30  /**
31  * This functions tests all 2D finite line functions.
32  * @param testDuration Number of seconds for each test, with range (0, infinity)
33  * @return True, if succeeded
34  */
35  static bool test(const double testDuration);
36 
37  /**
38  * Is on line test.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  */
42  static bool testIsOnLine(const double testDuration);
43 
44  /**
45  * Distance test.
46  * @param testDuration Number of seconds for each test, with range (0, infinity)
47  * @return True, if succeeded
48  */
49  static bool testDistance(const double testDuration);
50 
51  /**
52  * Test to check if a point is left of a line, i.e. left its direction vector
53  * @param testDuration Number of seconds for this test, range: (0, infinity)
54  * @return True if the test was successful, otherwise false
55  */
56  static bool testIsLeftOfLine(const double testDuration);
57 
58  /**
59  * Test to check if a two line segments are collinear
60  * @param testDuration Number of seconds for this test, range: (0, infinity)
61  * @return True if the test was successful, otherwise false
62  */
63  static bool testIsCollinear(const double testDuration);
64 
65  /**
66  * Test to check calculation of normal vector of a line
67  * @param testDuration Number of seconds for this test, range: (0, infinity)
68  * @return True if the test was successful, otherwise false
69  */
70  static bool testNormal(const double testDuration);
71 
72  /**
73  * Tests the isEqual() function.
74  * @param testDuration Number of seconds for this test, range: (0, infinity)
75  * @return True if the test was successful, otherwise false
76  * @tparam T The data type of the scalar to be used, either 'float' or 'double'
77  */
78  template <typename T>
79  static bool testIsEqual(const double testDuration);
80 
81  /**
82  * Tests the nearestPoint() function.
83  * @param testDuration Number of seconds for this test, range: (0, infinity)
84  * @return True if the test was successful, otherwise false
85  * @tparam T The data type of the scalar to be used, either 'float' or 'double'
86  */
87  template <typename T>
88  static bool testNearestPoint(const double testDuration);
89 
90  /**
91  * Tests the intersection() function.
92  * @param testDuration Number of seconds for this test, range: (0, infinity)
93  * @return True if the test was successful, otherwise false
94  * @tparam T The data type of the scalar to be used, either 'float' or 'double'
95  */
96  template <typename T>
97  static bool testIntersection(const double testDuration);
98 
99  /**
100  * Tests the nearestPointOnInfiniteLine() function.
101  * @param testDuration Number of seconds for this test, range: (0, infinity)
102  * @return True if the test was successful, otherwise false
103  * @tparam T The data type of the scalar to be used, either 'float' or 'double'
104  */
105  template <typename T>
106  static bool testNearestPointOnInfiniteLine(const double testDuration);
107 };
108 
109 }
110 
111 }
112 
113 }
114 
115 #endif // META_OCEAN_TEST_TESTMATH_FINITE_LINE_2_H
This class implements a 2D finite line test.
Definition: TestFiniteLine2.h:27
static bool testIsCollinear(const double testDuration)
Test to check if a two line segments are collinear.
static bool testIsEqual(const double testDuration)
Tests the isEqual() function.
static bool testIsOnLine(const double testDuration)
Is on line test.
static bool testNearestPointOnInfiniteLine(const double testDuration)
Tests the nearestPointOnInfiniteLine() function.
static bool testNormal(const double testDuration)
Test to check calculation of normal vector of a line.
static bool test(const double testDuration)
This functions tests all 2D finite line functions.
static bool testNearestPoint(const double testDuration)
Tests the nearestPoint() function.
static bool testIsLeftOfLine(const double testDuration)
Test to check if a point is left of a line, i.e.
static bool testIntersection(const double testDuration)
Tests the intersection() function.
static bool testDistance(const double testDuration)
Distance test.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15