Ocean
tracking/point/Utilities.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_TRACKING_POINT_UTILITIES_H
9 #define META_OCEAN_TRACKING_POINT_UTILITIES_H
10 
12 
13 #include "ocean/math/Line3.h"
14 #include "ocean/math/Vector3.h"
15 
16 namespace Ocean
17 {
18 
19 namespace Tracking
20 {
21 
22 namespace Point
23 {
24 
25 /**
26  * This class implements utilities function for the point tracking library.
27  * @ingroup trackingpoint
28  */
29 class OCEAN_TRACKING_POINT_EXPORT Utilities
30 {
31  public:
32 
33  /**
34  * Determines an initial 3D position from several 3D rays that start at the camera center and intersect individual image points.
35  * @param rays Rays for that a best matching pose has to be determined
36  * @param numberRays Number of provided rays, with range [2, infinity)
37  * @param objectPoint Resulting object point
38  * @param checkFrontPosition True, if the resulting point is verified to be in front of all viewing rays (by application of the ray direction)
39  * @return True, if succeeded
40  */
41  static bool determineInitialObjectPoint(const Line3* rays, const size_t numberRays, Vector3& objectPoint, const bool checkFrontPosition = true);
42 };
43 
44 }
45 
46 }
47 
48 }
49 
50 #endif // META_OCEAN_TRACKING_POINT_UTILITIES_H
This class implements an infinite line in 3D space.
Definition: Line3.h:70
This class implements utilities function for the point tracking library.
Definition: tracking/point/Utilities.h:30
static bool determineInitialObjectPoint(const Line3 *rays, const size_t numberRays, Vector3 &objectPoint, const bool checkFrontPosition=true)
Determines an initial 3D position from several 3D rays that start at the camera center and intersect ...
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15