diff --git a/Runtime/Scripts/WorldAnalysisInterface.cs b/Runtime/Scripts/WorldAnalysisInterface.cs index 727ebc5ba3be5c8270d02ee7342a0f5517738764..1efeacdad1832e8406ed9ec7c9d57c21e32dfc3f 100644 --- a/Runtime/Scripts/WorldAnalysisInterface.cs +++ b/Runtime/Scripts/WorldAnalysisInterface.cs @@ -1,4 +1,5 @@ -using ETSI.ARF.OpenAPI.WorldAnalysis; +using ETSI.ARF.OpenAPI.WorldAnalysis; +using System; public interface WorldAnalysisInterface { @@ -83,7 +84,7 @@ public interface WorldAnalysisInterface /// <param name="mode">trackable/anchor to ar device or opposite RQ-AR8-001 The WA function shall provide the SM function with a pose of either an AR device in relation to a WorldAnchor or a Trackable, or conversely a Trackable or World Anchor in relation to the AR device. </param> /// <param name="pose">Last estimated pose</param> /// <returns>The last state of the estimation of this pose</returns> - public PoseEstimationResult GetLastPose(string token, string uuid, Mode_WorldAnalysis mode, out Pose pose); + public PoseEstimationResult GetLastPose(string token, Guid uuid, Mode_WorldAnalysis mode, out Pose pose); /// <summary> /// Pull the most recent pose of a multiple trackables and anchors @@ -94,7 +95,7 @@ public interface WorldAnalysisInterface /// <param name="mode">list of trackable/anchor to ar device or opposite RQ-AR8-001 The WA function shall provide the SM function with a pose of either an AR device in relation to a WorldAnchor or a Trackable, or conversely a Trackable or World Anchor in relation to the AR device. </param> /// <param name="poses">Last estimated pose</param> /// <returns>The last state of the estimation of this pose</returns> - public PoseEstimationResult[] GetLastPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, out Pose [] poses); + public PoseEstimationResult[] GetLastPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, out Pose [] poses); /// <summary> /// Subscribe to receive the pose data of a given trackable or anchor @@ -107,7 +108,7 @@ public interface WorldAnalysisInterface /// <param name="validity">Subscription validity delay in millisecond</param> /// <param name="subscriptionUUID "> id of the callback</param> /// <returns>Result of the subscription</returns> - public InformationSubscriptionResult SubscribeToPose(string token, string uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out string subscriptionUUID); + public InformationSubscriptionResult SubscribeToPose(string token, Guid uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out Guid subscriptionUUID); /// <summary> /// Subscribe to receive the pose data of a multiple trackables and anchors @@ -120,7 +121,7 @@ public interface WorldAnalysisInterface /// <param name="validity">Subscription validity delay in millisecond</param> /// <param name="subscriptionUUIDs"> id of the callback</param> /// <returns>List of subscription result</returns> - public InformationSubscriptionResult[] SubscribeToPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out string[] subscriptionUUIDs); + public InformationSubscriptionResult[] SubscribeToPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out Guid[] subscriptionUUIDs); /// <summary> /// Get the subscription and the associated callback for collecting a given pose @@ -132,7 +133,7 @@ public interface WorldAnalysisInterface /// <param name="mode">Mode representing the context of the relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)</param> /// <param name="validity">Remaining Subscription validity delay in millisecond</param> /// <returns>The subscription exists or not</returns> - public InformationSubscriptionResult GetSubsription(string token, string subscriptionUUID, out PoseCallback callback, out string target, out Mode_WorldAnalysis mode, out int validity); + public InformationSubscriptionResult GetSubsription(string token, Guid subscriptionUUID, out PoseCallback callback, out Guid target, out Mode_WorldAnalysis mode, out int validity); /// <summary> /// Update an existing subscription @@ -143,14 +144,14 @@ public interface WorldAnalysisInterface /// <param name="validity">new validity of the subscription</param> /// <param name="callback">new callback to use</param> /// <returns>The subscription has been updated or not</returns> - public InformationSubscriptionResult UpdateSubscription(string token, string subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback); + public InformationSubscriptionResult UpdateSubscription(string token, Guid subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback); /// <summary> /// Unsubscribe to a pose /// </summary> /// <param name="subscriptionUUID">id of the subscription</param> /// /// <returns>The unsubscription has been performed or not</returns> - public InformationSubscriptionResult UnSubscribeToPose(string subscriptionUUID); + public InformationSubscriptionResult UnSubscribeToPose(Guid subscriptionUUID); #endregion @@ -175,7 +176,7 @@ public interface WorldAnalysisInterface /// <param name="type">the specified id corresponds to an anchor or trackable</param> /// <param name="capability">list metadata associated with the pose estimation of this element</param> /// <returns>Capabilities have correctly identified or not</returns> - public CapabilityResult GetCapability(string token, string uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability); + public CapabilityResult GetCapability(string token, Guid uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability); #endregion } \ No newline at end of file diff --git a/Runtime/Scripts/WorldAnalysisREST.cs b/Runtime/Scripts/WorldAnalysisREST.cs index 9d1de9d9328a313efa4fa7dd0fba70f7dd911247..5c18cebd58911b541edc3ef1a2809d7ac73a6b1a 100644 --- a/Runtime/Scripts/WorldAnalysisREST.cs +++ b/Runtime/Scripts/WorldAnalysisREST.cs @@ -1,6 +1,7 @@ using UnityEngine; using ETSI.ARF.OpenAPI.WorldAnalysis; using static WorldAnalysisInterface; +using System; //Implementation of the WorldAnalysis interface public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface @@ -39,46 +40,46 @@ public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface return AskFrameRateResult.NOT_SUPPORTED; ///We cannot set any framerate for tracking on ARKit and ARCore } - public PoseEstimationResult GetLastPose(string token, string uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose) + public PoseEstimationResult GetLastPose(string token, Guid uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose) { pose = null; return PoseEstimationResult.OK; } - public PoseEstimationResult[] GetLastPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses) + public PoseEstimationResult[] GetLastPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses) { poses = null; return null; } - public InformationSubscriptionResult SubscribeToPose(string token, string uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out string subscriptionUUID) + public InformationSubscriptionResult SubscribeToPose(string token, Guid uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out Guid subscriptionUUID) { - subscriptionUUID = ""; + subscriptionUUID = Guid.Empty; return InformationSubscriptionResult.OK; } - public InformationSubscriptionResult[] SubscribeToPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out string[] subscriptionUUIDs) + public InformationSubscriptionResult[] SubscribeToPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out Guid[] subscriptionUUIDs) { subscriptionUUIDs = null; return null; } - public InformationSubscriptionResult GetSubsription(string token, string subscriptionUUID, out PoseCallback callback, out string target, out Mode_WorldAnalysis mode, out int validity) + public InformationSubscriptionResult GetSubsription(string token, Guid subscriptionUUID, out PoseCallback callback, out Guid target, out Mode_WorldAnalysis mode, out int validity) { callback = null; - target = ""; + target = Guid.Empty; mode = Mode_WorldAnalysis.TRACKABLES_TO_DEVICE; validity = 0; return InformationSubscriptionResult.OK; } - public InformationSubscriptionResult UpdateSubscription(string token, string subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback) + public InformationSubscriptionResult UpdateSubscription(string token, Guid subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback) { return InformationSubscriptionResult.OK; } - public InformationSubscriptionResult UnSubscribeToPose(string subscriptionUUID) + public InformationSubscriptionResult UnSubscribeToPose(Guid subscriptionUUID) { return InformationSubscriptionResult.OK; } @@ -89,7 +90,7 @@ public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface return CapabilityResult.OK; } - public CapabilityResult GetCapability(string token, string uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability) + public CapabilityResult GetCapability(string token, Guid uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability) { isSupported = false; type = TypeWorldStorage.UNKNOWN;