8 #ifndef META_OCEAN_DEVICES_ARKIT_AK_GEO_ANCHORS_TRACKER_6_DOF_H
9 #define META_OCEAN_DEVICES_ARKIT_AK_GEO_ANCHORS_TRACKER_6_DOF_H
62 inline Location(
const ObjectId objectId,
const double latitude,
const double longitude,
const double altitude);
150 static inline std::
string deviceNameAKGeoAnchorsTracker6DOF();
156 static inline
DeviceType deviceTypeAKGeoAnchorsTracker6DOF();
176 bool isStarted_ = false;
184 longitude_(longitude),
193 return std::string(
"ARKit 6DOF Geo Anchors Tracker");
198 return DeviceType(deviceTypeTracker6DOF(), TRACKER_VISUAL);
This class implements a device for the ARKit library.
Definition: AKDevice.h:48
This class implements a device factory for the ARKit tracking library.
Definition: AKFactory.h:32
This class stores GPS locations.
Definition: AKGeoAnchorsTracker6DOF.h:52
This class implements ARKit's 6-DOF Geo Anchors tracker.
Definition: AKGeoAnchorsTracker6DOF.h:36
static DeviceType deviceTypeAKGeoAnchorsTracker6DOF()
Returns the device type of this tracker.
Definition: AKGeoAnchorsTracker6DOF.h:196
bool isObjectTracked(const ObjectId &objectId) const override
Returns whether a specific object is currently actively tracked by this tracker.
bool unregisterObject(const ObjectId objectId) override
Unregisters (removes) a previously registered object.
static std::string deviceNameAKGeoAnchorsTracker6DOF()
Returns the name of this tracker.
Definition: AKGeoAnchorsTracker6DOF.h:191
bool start() override
Starts the device.
std::vector< Location > Locations
Definition of a vector holding locations.
Definition: AKGeoAnchorsTracker6DOF.h:82
void setInput(Media::FrameMediumRefs &&frameMediums) override
Sets the multi-view visual input of this tracker.
API_AVAILABLE(ios(14.0)) void onNewSample(const HomogenousMatrix4 &world_T_camera
Event function for a new 6DOF pose.
std::unordered_map< ObjectId, HomogenousMatrix4 > TransformationMap
Definition of an unordered map mapping object ids to transformations.
Definition: AKGeoAnchorsTracker6DOF.h:44
ObjectId registerObject(const std::string &description, const Vector3 &dimension) override
Registers (adds) a new object to be tracked.
bool stop() override
Stops the device.
bool pause() override
Pauses the device.
Definition of a class holding the major and minor device type.
Definition: devices/Device.h:62
unsigned int ObjectId
Definition of an object id.
Definition: Measurement.h:46
std::unordered_map< std::string, Value > Metadata
Definition of an unordered map mapping keys to values.
Definition: Measurement.h:61
std::unordered_set< ObjectId > ObjectIdSet
Definition of an unordered set holding object ids.
Definition: Measurement.h:56
This class is the base class for all tracker allowing to track an object or location.
Definition: ObjectTracker.h:38
This class implements the base for all 6DOF trackers.
Definition: Tracker6DOF.h:39
This class is the base class for all tracker using visual input to create the tracking results.
Definition: devices/VisualTracker.h:41
static constexpr T minValue()
Returns the min scalar value.
Definition: Numeric.h:3250
This class implements a timestamp.
Definition: Timestamp.h:36
const ObjectId invalidObjectId
Definition of an invalid object id.
Definition: rendering/Rendering.h:65
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15