Ocean
SLAM.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_DEVICES_SLAM_SLAM_H
9 #define META_OCEAN_DEVICES_SLAM_SLAM_H
10 
11 #include "ocean/devices/Devices.h"
12 
13 namespace Ocean
14 {
15 
16 namespace Devices
17 {
18 
19 namespace SLAM
20 {
21 
22 /**
23  * @ingroup devices
24  * @defgroup devicesslam Ocean Devices SLAM Library
25  * @{
26  * The Ocean Devices SLAM Library provides a SLAM tracker based on feature points.
27  * This device plugin provides a 6DOF feature tracker with unique name <strong>"SLAM Feature Based 6DOF Tracker"</strong>.<br>
28  * Do not create a tracker object directory, but use the Devices::Manager object instead.<br>
29  * The library is platform independent.
30  * @}
31  */
32 
33 /**
34  * @namespace Ocean::Devices::SLAM Namespace of the Devices SLAM library.<p>
35  * The Namespace Ocean::Devices::SLAM is used in the entire Ocean Devices SLAM Library.
36  */
37 
38 // Defines OCEAN_DEVICES_SLAM_EXPORT for dll export and import.
39 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
40  #ifdef USE_OCEAN_DEVICES_SLAM_EXPORT
41  #define OCEAN_DEVICES_SLAM_EXPORT __declspec(dllexport)
42  #else
43  #define OCEAN_DEVICES_SLAM_EXPORT __declspec(dllimport)
44  #endif
45 #else
46  #define OCEAN_DEVICES_SLAM_EXPORT
47 #endif
48 
49 /**
50  * Returns the name of this devices library.
51  * @ingroup devicesslam
52  */
53 OCEAN_DEVICES_SLAM_EXPORT std::string nameSLAMLibrary();
54 
55 #if defined(OCEAN_RUNTIME_STATIC) || defined(_ANDROID)
56 
57 /**
58  * Registers this SLAM device library at the global device manager.
59  * This function calls SLAMFactory::registerFactory() only.
60  * @ingroup devicesslam
61  */
63 
64 /**
65  * Unregisters this SLAM device library at the global device manager.
66  * This function calls SLAMFactory::unregisterFactory() only.
67  * @return True, if succeeded
68  * @ingroup devicesslam
69  */
71 
72 #endif // OCEAN_RUNTIME_STATIC
73 
74 }
75 
76 }
77 
78 }
79 
80 #endif // META_OCEAN_DEVICES_SLAM_SLAM_H
void registerSLAMLibrary()
Registers this SLAM device library at the global device manager.
OCEAN_DEVICES_SLAM_EXPORT std::string nameSLAMLibrary()
Returns the name of this devices library.
bool unregisterSLAMLibrary()
Unregisters this SLAM device library at the global device manager.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15