Ocean
MagneticTracker.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_MAGNETIC_TRACKER_H
9 #define META_OCEAN_DEVICES_MAGNETIC_TRACKER_H
10 
11 #include "ocean/devices/Devices.h"
12 #include "ocean/devices/Tracker.h"
13 
14 namespace Ocean
15 {
16 
17 namespace Devices
18 {
19 
20 // Forward declaration.
21 class MagneticTracker;
22 
23 /**
24  * Definition of a smart object reference for a magnetic tracker.
25  * @see MagneticTracker.
26  * @ingroup devices
27  */
29 
30 /**
31  * This class is the base class for all tracker using a magnetic filed as input measurements.
32  * @ingroup devices
33  */
34 class OCEAN_DEVICES_EXPORT MagneticTracker : virtual public Tracker
35 {
36  public:
37 
38  /**
39  * Resets the magnetic field.
40  * @return True, if succeeded
41  * @exception NotSupportedException is thrown if this function is not supported.
42  */
43  virtual bool resetMagneticField();
44 
45  protected:
46 
47  /**
48  * Creates a new magnetic tracker object.
49  * @param name The name of the tracker
50  * @param type Major and minor device type of the device
51  */
52  MagneticTracker(const std::string& name, const DeviceType type);
53 
54  /**
55  * Destructs a magnetic tracker object.
56  */
57  virtual ~MagneticTracker();
58 };
59 
60 }
61 
62 }
63 
64 #endif // META_OCEAN_DEVICES_MAGNETIC_TRACKER_H
Definition of a class holding the major and minor device type.
Definition: devices/Device.h:62
This class is the base class for all tracker using a magnetic filed as input measurements.
Definition: MagneticTracker.h:35
MagneticTracker(const std::string &name, const DeviceType type)
Creates a new magnetic tracker object.
virtual bool resetMagneticField()
Resets the magnetic field.
virtual ~MagneticTracker()
Destructs a magnetic tracker object.
This class implements a smart device reference.
Definition: DeviceRef.h:36
This class implements the base class for all tracker devices.
Definition: devices/Tracker.h:39
SmartDeviceRef< MagneticTracker > MagneticTrackerRef
Definition of a smart object reference for a magnetic tracker.
Definition: MagneticTracker.h:21
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15