Ocean
TestSphere3.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_TEST_SPHERE_3_H
9 #define META_OCEAN_TEST_TESTMATH_TEST_SPHERE_3_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements a test for the 3D sphere.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestSphere3
27 {
28  public:
29 
30  /**
31  * Tests all sphere 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  * Tests the sphere-ray intersection function.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  * @tparam T The data type to be used
42  */
43  template <typename T>
44  static bool testHasIntersection(const double testDuration);
45 
46  /**
47  * Tests the sphere-ray intersection function for a transformed sphere.
48  * @param testDuration Number of seconds for each test, with range (0, infinity)
49  * @return True, if succeeded
50  * @tparam T The data type to be used
51  */
52  template <typename T>
53  static bool testHasIntersectionTransformed(const double testDuration);
54 
55  /**
56  * Tests the coordinate/vector conversion.
57  * @param testDuration Number of seconds for each test, with range (0, infinity)
58  * @return True, if succeeded
59  * @tparam T The data type to be used
60  */
61  template <typename T>
62  static bool testCoordinateVectorConversion(const double testDuration);
63 
64  /**
65  * Tests the shortest distance function.
66  * @param testDuration Number of seconds for each test, with range (0, infinity)
67  * @return True, if succeeded
68  * @tparam T The data type to be used
69  */
70  template <typename T>
71  static bool testShortestDistance(const double testDuration);
72 };
73 
74 }
75 
76 }
77 
78 }
79 
80 #endif // META_OCEAN_TEST_TESTMATH_TEST_SPHERE_3_H
This class implements a test for the 3D sphere.
Definition: TestSphere3.h:27
static bool testHasIntersection(const double testDuration)
Tests the sphere-ray intersection function.
static bool testCoordinateVectorConversion(const double testDuration)
Tests the coordinate/vector conversion.
static bool testHasIntersectionTransformed(const double testDuration)
Tests the sphere-ray intersection function for a transformed sphere.
static bool test(const double testDuration)
Tests all sphere functions.
static bool testShortestDistance(const double testDuration)
Tests the shortest distance function.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15