Ocean
Tracking.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_TRACKING_H
9 #define META_OCEAN_TRACKING_TRACKING_H
10 
11 #include "ocean/base/Base.h"
12 #include "ocean/base/Messenger.h"
13 
14 #include "ocean/math/Vector2.h"
15 #include "ocean/math/Vector3.h"
16 
17 #include <vector>
18 
19 namespace Ocean
20 {
21 
22 namespace Tracking
23 {
24 
25 /**
26  * @defgroup tracking Ocean Tracking Library
27  * @{
28  * The Ocean Tracker Library is the base class for all tracker implementations.<br>
29  * In contrast to the computer vision library this library does not implement e.g. feature or corner detectors but implement the application of such features.<br>
30  * This library provides several sub libraries applying individual e.g. feature approaches.
31  * @}
32  */
33 
34 /**
35  * @namespace Ocean::Tracking Namespace of the Tracker library.<p>
36  * The Namespace Ocean::Tracking is used in the entire Ocean Tracker Library.
37  */
38 
39 /**
40  * Definition of a 2D image point.
41  * @ingroup tracking
42  */
44 
45 /**
46  * Definition of a 3D object point.
47  * @ingroup tracking
48  */
50 
51 /**
52  * Definition of a vector holding 2D image points.
53  * @ingroup tracking
54  */
55 typedef std::vector<ImagePoint> ImagePoints;
56 
57 /**
58  * Definition of a vector holding 3D object points.
59  * @ingroup tracking
60  */
61 typedef std::vector<ObjectPoint> ObjectPoints;
62 
63 /**
64  * Definition of a vector holding object points.
65  * @ingroup tracking
66  */
67 typedef std::vector<ObjectPoints> ObjectPointsVector;
68 
69 /**
70  * Definition of a vector holding image points.
71  * @ingroup tracking
72  */
73 typedef std::vector<ImagePoints> ImagePointsVector;
74 
75 
76 // Defines OCEAN_TRACKING_EXPORT for dll export and import.
77 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
78  #ifdef USE_OCEAN_TRACKING_EXPORT
79  #define OCEAN_TRACKING_EXPORT __declspec(dllexport)
80  #else
81  #define OCEAN_TRACKING_EXPORT __declspec(dllimport)
82  #endif
83 #else
84  #define OCEAN_TRACKING_EXPORT
85 #endif
86 
87 }
88 
89 }
90 
91 #endif // META_OCEAN_TRACKING_TRACKING_H
std::vector< ObjectPoints > ObjectPointsVector
Definition of a vector holding object points.
Definition: Tracking.h:67
std::vector< ObjectPoint > ObjectPoints
Definition of a vector holding 3D object points.
Definition: Tracking.h:61
std::vector< ImagePoints > ImagePointsVector
Definition of a vector holding image points.
Definition: Tracking.h:73
Vector2 ImagePoint
Definition of a 2D image point.
Definition: Tracking.h:43
std::vector< ImagePoint > ImagePoints
Definition of a vector holding 2D image points.
Definition: Tracking.h:55
Vector3 ObjectPoint
Definition of a 3D object point.
Definition: Tracking.h:49
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15