8 #ifndef META_OCEAN_DEVICES_ARKIT_AK_DEVICE_H
9 #define META_OCEAN_DEVICES_ARKIT_AK_DEVICE_H
20 #include <ARKit/ARKit.h>
35 class AKGeoAnchorsTracker6DOF;
38 class AKSceneTracker6DOF;
41 class 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>;
181 API_AVAILABLE(ios(14.0))
182 static std::
string translateGeoTrackingState(const ARGeoTrackingState& state);
189 API_AVAILABLE(ios(14.0))
190 static std::
string translateGeoTrackingStateReason(const ARGeoTrackingStateReason& stateReason);
197 API_AVAILABLE(ios(14.0))
198 static std::
string translateGeoTrackingAccuracy(const ARGeoTrackingAccuracy& accuracy);
218 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
virtual void onRemovedAnchors(const ARAnchors &anchors)
Event function for removed anchors.
const std::string & library() const override
Returns the name of the owner library.
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
virtual void onUpdateAnchors(const ARAnchors &anchors)
Event function for updated anchors.
TrackerCapabilities
Definition of individual capabilities.
Definition: AKDevice.h:55
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
Definition: AKDevice.h:22
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15