8#ifndef META_OCEAN_DEVICES_ARKIT_AK_DEVICE_H
9#define META_OCEAN_DEVICES_ARKIT_AK_DEVICE_H
20#include <ARKit/ARKit.h>
35class AKGeoAnchorsTracker6DOF;
38class AKSceneTracker6DOF;
41class AKWorldTracker6DOF;
61 TC_GEO_ANCHORS = 1u << 1u,
63 TC_PLANE_DETECTION = 1u << 2u,
65 TC_MESH_RECONSTRUCTION = 1u << 3u,
80 using DeviceMap = std::unordered_map<AKDevice*, unsigned int>;
207 API_AVAILABLE(ios(14.0))
208 static std::
string translateGeoTrackingState(const ARGeoTrackingState& state);
215 API_AVAILABLE(ios(14.0))
216 static std::
string translateGeoTrackingStateReason(const ARGeoTrackingStateReason& stateReason);
223 API_AVAILABLE(ios(14.0))
224 static std::
string translateGeoTrackingAccuracy(const ARGeoTrackingAccuracy& accuracy);
247 return trackerCapabilities_;
This class implements a wrapper around the actual ARSessionDelegate which may be used by several devi...
Definition AKDevice.h:88
bool start(AKDevice *tracker, const Media::FrameMediumRef &frameMedium)
Starts the session for a given tracker.
ARSessionManager()
Creates a new manager.
bool pause(AKDevice *tracker)
Pauses the session for a given tracker.
bool stop(AKDevice *tracker)
Stops the session for a given tracker.
bool unregisterGeoAnchor(const Measurement::ObjectId &objectId)
Unregisters a geo anchor.
bool registerGeoAnchor(const Measurement::ObjectId &objectId, const double latitude, const double longitude, const double altitude)
Registers a new geo anchor.
This class implements a device for the ARKit library.
Definition AKDevice.h:48
bool setParameter(const std::string ¶meter, const Value &value) override
Sets a parameter for this tracker.
virtual void onRemovedAnchors(const ARAnchors &anchors)
Event function for removed anchors.
std::unordered_map< AKDevice *, unsigned int > DeviceMap
Definition of an unordered map mapping devices to usage counters.
Definition AKDevice.h:80
virtual void onAddedAnchors(const ARAnchors &anchors)
Event function for added anchors.
std::vector< ARAnchor * > ARAnchors
Definition of a vector holding ARAnchors.
Definition AKDevice.h:75
static std::string translateTrackingState(const ARTrackingState &state)
Translates the value of an ARTrackingState to a readable string.
bool parameter(const std::string ¶meter, Value &value) override
Returns a parameter of this device.
std::unordered_map< std::string, Value > ParameterMap
Definition of an unordered map mapping names to values.
Definition AKDevice.h:147
virtual void onUpdateAnchors(const ARAnchors &anchors)
Event function for updated anchors.
TrackerCapabilities
Definition of individual capabilities.
Definition AKDevice.h:55
const std::string & library() const override
Returns the name of the owner library.
Definition of a class holding the major and minor device type.
Definition devices/Device.h:62
This class is the base class for all devices of any type.
Definition devices/Device.h:28
unsigned int ObjectId
Definition of an object id.
Definition Measurement.h:46
This template class is the base class for all singleton objects.
Definition Singleton.h:71
This class implements a type independent value.
Definition Value.h:23
The namespace covering the entire Ocean framework.
Definition Accessor.h:15