From deaa2057292fb32f3e631e911fa55420d13897be Mon Sep 17 00:00:00 2001 From: jlacoche <jeremy.lacoche@orange.com> Date: Wed, 29 May 2024 15:49:08 +0200 Subject: [PATCH] Add validity as a parameter for subscription --- Assets/Scenes/ExampleServerMaintenance.unity | 1 + Assets/Scripts/AnchorTrackableReferenceNode.cs | 8 ++++++-- Assets/Scripts/SceneManagementGLTF.cs | 8 +++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Assets/Scenes/ExampleServerMaintenance.unity b/Assets/Scenes/ExampleServerMaintenance.unity index b8401b3..76c06e1 100644 --- a/Assets/Scenes/ExampleServerMaintenance.unity +++ b/Assets/Scenes/ExampleServerMaintenance.unity @@ -709,6 +709,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _ARFNodeUUID: + _ValiditySubscription: 100000 --- !u!1 &789254997 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/AnchorTrackableReferenceNode.cs b/Assets/Scripts/AnchorTrackableReferenceNode.cs index 8edf25c..4f3633b 100644 --- a/Assets/Scripts/AnchorTrackableReferenceNode.cs +++ b/Assets/Scripts/AnchorTrackableReferenceNode.cs @@ -7,14 +7,18 @@ public class AnchorTrackableReferenceNode : MonoBehaviour /// UUID of the node or trackable /// </summary> public string _ARFNodeUUID; + /// <summary> + /// Validity in milliseconds for a subscription to the WA + /// </summary> + public int _ValiditySubscription = 100000; // Start is called before the first frame update IEnumerator Start() { yield return new WaitForSeconds(5.0f); - int validity = 100000; //10s - System.Guid subscriptionUUID; // wait for initialization : not perfect way + int validity = _ValiditySubscription; + System.Guid subscriptionUUID; WorldAnalysisInterface.Instance.SubscribeToPose(null, new System.Guid(_ARFNodeUUID) , ETSI.ARF.OpenAPI.WorldAnalysis.Mode_WorldAnalysis.DEVICE_TO_TRACKABLES, PoseCallback, ref validity, out subscriptionUUID); //TODO : find a value for the token parameter. } diff --git a/Assets/Scripts/SceneManagementGLTF.cs b/Assets/Scripts/SceneManagementGLTF.cs index 8bbc556..07f3230 100644 --- a/Assets/Scripts/SceneManagementGLTF.cs +++ b/Assets/Scripts/SceneManagementGLTF.cs @@ -7,11 +7,14 @@ using UnityEngine; public class SceneManagementGLTF : MonoBehaviour { - /// <summary> /// Path to GLTF File (relative to streaming assets in editor, else persistentdatapath) /// </summary> public string _PathToGLTF; + /// <summary> + /// Validity in milliseconds for a subscription to the WA + /// </summary> + public int _ValiditySubscription = 100000; /// <summary> /// List of trackables and anchors in the AR Scene @@ -28,10 +31,9 @@ public class SceneManagementGLTF : MonoBehaviour Transform loaded = this.transform.GetChild(0); FindWorldStorageTransform(loaded); - foreach(KeyValuePair<Guid , Transform> toSubscribe in m_trackablesAndAnchorsInARScene) { - int validity = 100000; //10s + int validity = _ValiditySubscription; Guid subscriptionUUID; // TODO : if only one : subscribeToPose, if multiple subscribetoPoses WorldAnalysisInterface.Instance.SubscribeToPose(null, toSubscribe.Key, ETSI.ARF.OpenAPI.WorldAnalysis.Mode_WorldAnalysis.DEVICE_TO_TRACKABLES, PoseCallback, ref validity, out subscriptionUUID); //TODO : find a value for the token parameter. -- GitLab