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