From c8406f18a9f789d4cc0eb2ef995d274797ea4051 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Fri, 3 Jun 2022 09:49:44 +0200 Subject: [PATCH] Use now API v1.0.0 Changes in element interface. Added world link functions. --- Assets/Runtime/REST/TrackableRequest.cs | 12 +- Assets/Runtime/REST/WorldAnchorRequest.cs | 12 +- Assets/Runtime/REST/WorldLinkRequest.cs | 81 ++ Assets/Runtime/REST/WorldLinkRequest.cs.meta | 11 + Assets/Scriptables/WorldStorageServer.cs | 3 +- Assets/Scriptables/WorldStorageUser.cs | 1 + Plugins/Org.OpenAPITools.dll | Bin 111104 -> 121856 bytes Plugins/Org.OpenAPITools.xml | 825 ++++++++++++------- 8 files changed, 646 insertions(+), 299 deletions(-) create mode 100644 Assets/Runtime/REST/WorldLinkRequest.cs create mode 100644 Assets/Runtime/REST/WorldLinkRequest.cs.meta diff --git a/Assets/Runtime/REST/TrackableRequest.cs b/Assets/Runtime/REST/TrackableRequest.cs index f04eacf..df1c382 100644 --- a/Assets/Runtime/REST/TrackableRequest.cs +++ b/Assets/Runtime/REST/TrackableRequest.cs @@ -37,12 +37,22 @@ namespace ETSI.ARF.WorldStorage.REST { public class TrackableRequest { - static public void AddTrackable(WorldStorageServer ws, Trackable trackable) + static public string AddTrackable(WorldStorageServer ws, Trackable trackable) { Debug.Log("Posting Add Trackable to Server"); TrackablesApi api = new TrackablesApi(ws.URI); string result = api.AddTrackable(trackable); Debug.Log(result); + return result; + } + + static public string UpdateTrackable(WorldStorageServer ws, Trackable trackable) + { + Debug.Log("Posting Add Trackable to Server"); + TrackablesApi api = new TrackablesApi(ws.URI); + string result = api.ModifyTrackable(trackable); + Debug.Log(result); + return result; } static public List GetAllTrackables(WorldStorageServer ws) diff --git a/Assets/Runtime/REST/WorldAnchorRequest.cs b/Assets/Runtime/REST/WorldAnchorRequest.cs index 1266383..23377aa 100644 --- a/Assets/Runtime/REST/WorldAnchorRequest.cs +++ b/Assets/Runtime/REST/WorldAnchorRequest.cs @@ -37,12 +37,22 @@ namespace ETSI.ARF.WorldStorage.REST { public class WorldAnchorRequest { - static public void AddWorldAnchor(WorldStorageServer ws, WorldAnchor anchor) + static public string AddWorldAnchor(WorldStorageServer ws, WorldAnchor anchor) { Debug.Log("Posting Add World Anchor to Server"); WorldAnchorsApi api = new WorldAnchorsApi(ws.URI); string result = api.AddWorldAnchor(anchor); Debug.Log(result); + return result; + } + + static public string UpdateWorldAnchor(WorldStorageServer ws, WorldAnchor anchor) + { + Debug.Log("Posting Add World Anchor to Server"); + WorldAnchorsApi api = new WorldAnchorsApi(ws.URI); + string result = api.ModifyWorldAnchor(anchor); + Debug.Log(result); + return result; } static public List GetAllWorldAnchors(WorldStorageServer ws) diff --git a/Assets/Runtime/REST/WorldLinkRequest.cs b/Assets/Runtime/REST/WorldLinkRequest.cs new file mode 100644 index 0000000..3dd1c67 --- /dev/null +++ b/Assets/Runtime/REST/WorldLinkRequest.cs @@ -0,0 +1,81 @@ +// +// ARF - Augmented Reality Framework (ETSI ISG ARF) +// +// Copyright 2022 ETSI +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Last change: June 2022 +// + +#define USING_OPENAPI_GENERATOR // alt. is Swagger + +using System.IO; +using System.Collections.Generic; +using UnityEngine; + +#if USING_OPENAPI_GENERATOR +using Org.OpenAPITools.Api; +using Org.OpenAPITools.Model; +#else +using IO.Swagger.Api; +using IO.Swagger.Model; +#endif + +#if UNITY_EDITOR +namespace ETSI.ARF.WorldStorage.REST +{ + public class WorldLinkRequest + { + static public string AddWorldLink(WorldStorageServer ws, WorldLink link) + { + Debug.Log("Posting Add Trackable to Server"); + WorldLinksApi api = new WorldLinksApi(ws.URI); + string result = api.AddWorldLink(link); + Debug.Log(result); + return result; + } + + static public string UpdateWorldLink(WorldStorageServer ws, WorldLink link) + { + Debug.Log("Posting Add Trackable to Server"); + WorldLinksApi api = new WorldLinksApi(ws.URI); + string result = api.ModifyWorldLink(link); + Debug.Log(result); + return result; + } + + static public List GetAllWorldLinks(WorldStorageServer ws) + { + WorldLinksApi api = new WorldLinksApi(ws.URI); + List result = api.GetWorldLinks(); + return result; + } + + static public WorldLink GetWorldLink(WorldStorageServer ws, string uuid) + { + System.Guid _uuid = System.Guid.Parse(uuid); + WorldLinksApi api = new WorldLinksApi(ws.URI); + WorldLink result = api.GetWorldLinkById(_uuid); + return result; + } + + static public void DeleteWorldLink(WorldStorageServer ws, string uuid) + { + System.Guid _uuid = System.Guid.Parse(uuid); + WorldLinksApi api = new WorldLinksApi(ws.URI); + api.DeleteWorldLink(_uuid); + } + } +} +#endif \ No newline at end of file diff --git a/Assets/Runtime/REST/WorldLinkRequest.cs.meta b/Assets/Runtime/REST/WorldLinkRequest.cs.meta new file mode 100644 index 0000000..a4f3a5c --- /dev/null +++ b/Assets/Runtime/REST/WorldLinkRequest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d17b7a1eac66b74ea32aac83c01aa2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scriptables/WorldStorageServer.cs b/Assets/Scriptables/WorldStorageServer.cs index 125d2e4..db34de9 100644 --- a/Assets/Scriptables/WorldStorageServer.cs +++ b/Assets/Scriptables/WorldStorageServer.cs @@ -30,11 +30,12 @@ namespace ETSI.ARF.WorldStorage public class WorldStorageServer : ScriptableObject { [SerializeField] public string serverName = "myServerName"; + [SerializeField] public string company = ""; [SerializeField] public string basePath = "https://"; [SerializeField] public int port = 8080; [Space(8)] - [SerializeField] public WorldStorageUser user = null; + [SerializeField] public WorldStorageUser currentUser = null; public string URI => basePath + ":" + port.ToString(); } diff --git a/Assets/Scriptables/WorldStorageUser.cs b/Assets/Scriptables/WorldStorageUser.cs index 63eb5d0..4222734 100644 --- a/Assets/Scriptables/WorldStorageUser.cs +++ b/Assets/Scriptables/WorldStorageUser.cs @@ -30,6 +30,7 @@ namespace ETSI.ARF.WorldStorage public class WorldStorageUser : ScriptableObject { [SerializeField] public string userName = "myName"; + [SerializeField] public string company = ""; [SerializeField] public string UUID = System.Guid.Empty.ToString(); } } \ No newline at end of file diff --git a/Plugins/Org.OpenAPITools.dll b/Plugins/Org.OpenAPITools.dll index 2d8e9a48156b8af39c42ce96591c388fa84686d6..9e73e0e532bec5b9563dc4dd0168f8a7df8fcc22 100644 GIT binary patch literal 121856 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 xo)+LZcLX1X0XnM>3@ literal 111104 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 - Test the server availability + Test the server availability. Thrown when fails to make API call - + string - Test the server availability + Test the server availability. Thrown when fails to make API call - ApiResponse of Object(void) + ApiResponse of string @@ -115,25 +115,25 @@ - Test the server availability + Test the server availability. Thrown when fails to make API call Cancellation Token to cancel request (optional) - Task of void + Task of string - Test the server availability + Test the server availability. Thrown when fails to make API call Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) @@ -240,33 +240,33 @@ - Test the server availability + Test the server availability. Thrown when fails to make API call - + string - Test the server availability + Test the server availability. Thrown when fails to make API call - ApiResponse of Object(void) + ApiResponse of string - Test the server availability + Test the server availability. Thrown when fails to make API call Cancellation Token to cancel request (optional) - Task of void + Task of string - Test the server availability + Test the server availability. Thrown when fails to make API call Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) @@ -316,168 +316,190 @@ - Create a trackable. + Create a Trackable. - + Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. string - Create a trackable. + Create a Trackable. - + Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. ApiResponse of string - Deletes a trackable. + Delete a Trackable. - + Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. - + string - Deletes a trackable. + Delete a Trackable. - + Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. - ApiResponse of Object(void) + ApiResponse of string - Find a trackable by its UUID. + Find a Trackable by its UUID. - + Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Trackable - Find a trackable by its UUID. + Find a Trackable by its UUID. - + Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. ApiResponse of Trackable - Returns the list of all trackables defined by the world storage. + Return all the Trackables. - + Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call List<Trackable> - Returns the list of all trackables defined by the world storage. + Return all the Trackables. - + Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<Trackable> + + + Modify a Trackable. + + + Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + string + + + + Modify a Trackable. + + + Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + ApiResponse of string + - Create a trackable. + Create a Trackable. - + Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. Cancellation Token to cancel request (optional) Task of string - Create a trackable. + Create a Trackable. - + Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. Cancellation Token to cancel request (optional) Task of ApiResponse (string) - Deletes a trackable. + Delete a Trackable. - + Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a trackable. + Delete a Trackable. - + Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a trackable by its UUID. + Find a Trackable by its UUID. - + Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Cancellation Token to cancel request (optional) Task of Trackable - Find a trackable by its UUID. + Find a Trackable by its UUID. - + Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (Trackable) - Returns the list of all trackables defined by the world storage. + Return all the Trackables. - + Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -485,15 +507,39 @@ - Returns the list of all trackables defined by the world storage. + Return all the Trackables. - + Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<Trackable>) + + + Modify a Trackable. + + + Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a Trackable. + + + Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Represents a collection of functions to interact with the API endpoints @@ -547,123 +593,123 @@ - Create a trackable. + Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. string - Create a trackable. + Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. ApiResponse of string - Create a trackable. + Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. Cancellation Token to cancel request (optional) Task of string - Create a trackable. + Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable. Thrown when fails to make API call - The trackable to be added to the world storage. + The Trackable to be added to the world storage. Cancellation Token to cancel request (optional) Task of ApiResponse (string) - Deletes a trackable. + Delete a Trackable. Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. - + string - Deletes a trackable. + Delete a Trackable. Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. - ApiResponse of Object(void) + ApiResponse of string - Deletes a trackable. + Delete a Trackable. Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a trackable. + Delete a Trackable. Delete a single Trackable stored in the world storage from its ID. Thrown when fails to make API call Trackable UUID to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a trackable by its UUID. + Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Trackable - Find a trackable by its UUID. + Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. ApiResponse of Trackable - Find a trackable by its UUID. + Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Cancellation Token to cancel request (optional) Task of Trackable - Find a trackable by its UUID. + Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID. Thrown when fails to make API call - UUID of the trackable to retrieve. + UUID of the Trackable to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (Trackable) - Returns the list of all trackables defined by the world storage. + Return all the Trackables. Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call List<Trackable> - Returns the list of all trackables defined by the world storage. + Return all the Trackables. Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<Trackable> - Returns the list of all trackables defined by the world storage. + Return all the Trackables. Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -671,12 +717,46 @@ - Returns the list of all trackables defined by the world storage. + Return all the Trackables. Get all the Trackables currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<Trackable>) + + + Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + string + + + + Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + ApiResponse of string + + + + Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The Trackable to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Gets or sets the configuration object @@ -695,168 +775,190 @@ - Create a world anchor. + Create a World Anchor. - + Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. string - Create a world anchor. + Create a World Anchor. - + Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. ApiResponse of string - Deletes a world anchor. + Delete a World Anchor. - + Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. - + World Anchor UUID to delete. + string - Deletes a world anchor. + Delete a World Anchor. - + Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. - ApiResponse of Object(void) + World Anchor UUID to delete. + ApiResponse of string - Find a world anchor by its UUID. + Find a World Anchor by its UUID. - + Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. WorldAnchor - Find a world anchor by its UUID. + Find a World Anchor by its UUID. - + Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. ApiResponse of WorldAnchor - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. - + Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call List<WorldAnchor> - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. - + Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<WorldAnchor> + + + Modify a World Anchor. + + + Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + string + + + + Modify a World Anchor. + + + Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + ApiResponse of string + - Create a world anchor. + Create a World Anchor. - + Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. Cancellation Token to cancel request (optional) Task of string - Create a world anchor. + Create a World Anchor. - + Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. Cancellation Token to cancel request (optional) Task of ApiResponse (string) - Deletes a world anchor. + Delete a World Anchor. - + Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. + World Anchor UUID to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a world anchor. + Delete a World Anchor. - + Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. + World Anchor UUID to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a world anchor by its UUID. + Find a World Anchor by its UUID. - + Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. Cancellation Token to cancel request (optional) Task of WorldAnchor - Find a world anchor by its UUID. + Find a World Anchor by its UUID. - + Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (WorldAnchor) - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. - + Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -864,15 +966,39 @@ - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. - + Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<WorldAnchor>) + + + Modify a World Anchor. + + + Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a World Anchor. + + + Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Represents a collection of functions to interact with the API endpoints @@ -926,123 +1052,123 @@ - Create a world anchor. + Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. string - Create a world anchor. + Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. ApiResponse of string - Create a world anchor. + Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. Cancellation Token to cancel request (optional) Task of string - Create a world anchor. + Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor. Thrown when fails to make API call - The world anchor to be added to the world storage. + The World Anchor to be added to the world storage. Cancellation Token to cancel request (optional) Task of ApiResponse (string) - Deletes a world anchor. + Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. - + World Anchor UUID to delete. + string - Deletes a world anchor. + Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. - ApiResponse of Object(void) + World Anchor UUID to delete. + ApiResponse of string - Deletes a world anchor. + Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. + World Anchor UUID to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a world anchor. + Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - World anchor UUID to delete. + World Anchor UUID to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a world anchor by its UUID. + Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. WorldAnchor - Find a world anchor by its UUID. + Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. ApiResponse of WorldAnchor - Find a world anchor by its UUID. + Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. Cancellation Token to cancel request (optional) Task of WorldAnchor - Find a world anchor by its UUID. + Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID. Thrown when fails to make API call - UUID of the world anchor to retrieve. + UUID of the World Anchor to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (WorldAnchor) - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call List<WorldAnchor> - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<WorldAnchor> - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -1050,12 +1176,46 @@ - Returns the list of all world anchors defined by the world storage. + Return all the World Anchors. Get all the World Anchors currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<WorldAnchor>) + + + Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + string + + + + Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + ApiResponse of string + + + + Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Anchor to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Gets or sets the configuration object @@ -1074,10 +1234,10 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). - + Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1085,10 +1245,10 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). - + Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1096,74 +1256,96 @@ - Deletes a worldLink. + Delete a World Link. - + Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete - + World Link id to delete. + string - Deletes a worldLink. + Delete a World Link. - + Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete - ApiResponse of Object(void) + World Link id to delete. + ApiResponse of string - Find a link by its UUID. + Find a World Link by its UUID. - + Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. WorldLink - Find a link by its UUID. + Find a World Link by its UUID. - + Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. ApiResponse of WorldLink - Returns the list of all links defined by the world storage. + Return all World Links. - + Get all the World Links currently being stored in the world storage. Thrown when fails to make API call List<WorldLink> - Returns the list of all links defined by the world storage. + Return all World Links. - + Get all the World Links currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<WorldLink> + + + Modify a World Link. + + + Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + string + + + + Modify a World Link. + + + Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + ApiResponse of string + - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). - + Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1172,10 +1354,10 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). - + Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1184,58 +1366,58 @@ - Deletes a worldLink. + Delete a World Link. - + Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete + World Link id to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a worldLink. + Delete a World Link. - + Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete + World Link id to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a link by its UUID. + Find a World Link by its UUID. - + Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. Cancellation Token to cancel request (optional) Task of WorldLink - Find a link by its UUID. + Find a World Link by its UUID. - + Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (WorldLink) - Returns the list of all links defined by the world storage. + Return all World Links. - + Get all the World Links currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -1243,15 +1425,39 @@ - Returns the list of all links defined by the world storage. + Return all World Links. - + Get all the World Links currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<WorldLink>) + + + Modify a World Link. + + + Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a World Link. + + + Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Represents a collection of functions to interact with the API endpoints @@ -1305,7 +1511,7 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1313,7 +1519,7 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1321,7 +1527,7 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1330,7 +1536,7 @@ - Create a link between world anchors and trackables. + Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link. Thrown when fails to make API call The link to be added to the world storage. @@ -1339,89 +1545,89 @@ - Deletes a worldLink. + Delete a World Link. Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete - + World Link id to delete. + string - Deletes a worldLink. + Delete a World Link. Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete - ApiResponse of Object(void) + World Link id to delete. + ApiResponse of string - Deletes a worldLink. + Delete a World Link. Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete + World Link id to delete. Cancellation Token to cancel request (optional) - Task of void + Task of string - Deletes a worldLink. + Delete a World Link. Delete a single World Link stored in the world storage from its ID. Thrown when fails to make API call - link id to delete + World Link id to delete. Cancellation Token to cancel request (optional) - Task of ApiResponse + Task of ApiResponse (string) - Find a link by its UUID. + Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. WorldLink - Find a link by its UUID. + Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. ApiResponse of WorldLink - Find a link by its UUID. + Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. Cancellation Token to cancel request (optional) Task of WorldLink - Find a link by its UUID. + Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID. Thrown when fails to make API call - UUID of the link to retrieve. + UUID of the World Link to retrieve. Cancellation Token to cancel request (optional) Task of ApiResponse (WorldLink) - Returns the list of all links defined by the world storage. + Return all World Links. Get all the World Links currently being stored in the world storage. Thrown when fails to make API call List<WorldLink> - Returns the list of all links defined by the world storage. + Return all World Links. Get all the World Links currently being stored in the world storage. Thrown when fails to make API call ApiResponse of List<WorldLink> - Returns the list of all links defined by the world storage. + Return all World Links. Get all the World Links currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) @@ -1429,12 +1635,46 @@ - Returns the list of all links defined by the world storage. + Return all World Links. Get all the World Links currently being stored in the world storage. Thrown when fails to make API call Cancellation Token to cancel request (optional) Task of ApiResponse (List<WorldLink>) + + + Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + string + + + + Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + ApiResponse of string + + + + Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of string + + + + Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON** + + Thrown when fails to make API call + The World Link to be modified in the world storage. + Cancellation Token to cancel request (optional) + Task of ApiResponse (string) + Gets or sets the configuration object @@ -2097,7 +2337,7 @@ - EncodingInformationStructure + An object holding the info of a Trackable`'`s encoding informations `:` the data format and the version. @@ -2288,7 +2528,7 @@ - An element representing a trackable object in the real world. + An element representing a Trackable object in the real world. @@ -2300,15 +2540,15 @@ Initializes a new instance of the class. - An Universally Unique IDentifier identifying the trackable (RFC 4122).. - A human readable name for the trackable. (required). - An Universally Unique IDentifier identifying the creator of the trackable (a person, a team or a company). (required). - Extensible list of trackable types possibly handled by complient World Storage implementation. (required). + An Universally Unique IDentifier identifying the Trackable (RFC 4122).. + A human readable name for the Trackable. (required). + An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company). (required). + Extensible list of Trackable types, possibly handled by complient world storage implementation. (required). trackableEncodingInformation (required). - The data provided to create the trackable in a specific format handled by the World Storage service. (required). + The data provided to create the Trackable in a specific format handled by the world storage service. (required). Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required). unit (required). - Size {width, length, depth}. (required). + Size object in format {width, length, depth}. (required). List of additional parameters to be stored with the object. (required). @@ -2352,9 +2592,9 @@ - Extensible list of trackable types possibly handled by complient World Storage implementation. + Extensible list of Trackable types, possibly handled by complient world storage implementation. - Extensible list of trackable types possibly handled by complient World Storage implementation. + Extensible list of Trackable types, possibly handled by complient world storage implementation. @@ -2363,21 +2603,21 @@ - An Universally Unique IDentifier identifying the trackable (RFC 4122). + An Universally Unique IDentifier identifying the Trackable (RFC 4122). - An Universally Unique IDentifier identifying the trackable (RFC 4122). + An Universally Unique IDentifier identifying the Trackable (RFC 4122). - A human readable name for the trackable. + A human readable name for the Trackable. - A human readable name for the trackable. + A human readable name for the Trackable. - An Universally Unique IDentifier identifying the creator of the trackable (a person, a team or a company). + An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company). - An Universally Unique IDentifier identifying the creator of the trackable (a person, a team or a company). + An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company). @@ -2386,9 +2626,9 @@ - The data provided to create the trackable in a specific format handled by the World Storage service. + The data provided to create the Trackable in a specific format handled by the world storage service. - The data provided to create the trackable in a specific format handled by the World Storage service. + The data provided to create the Trackable in a specific format handled by the world storage service. @@ -2398,9 +2638,9 @@ - Size {width, length, depth}. + Size object in format {width, length, depth}. - Size {width, length, depth}. + Size object in format {width, length, depth}. @@ -2410,9 +2650,9 @@ - Extensible list of trackable types possibly handled by complient World Storage implementation. + Extensible list of Trackable types, possibly handled by complient world storage implementation. - Extensible list of trackable types possibly handled by complient World Storage implementation. + Extensible list of Trackable types, possibly handled by complient world storage implementation. @@ -2514,12 +2754,12 @@ Initializes a new instance of the class. - An Universally Unique IDentifier identifying the world anchor (RFC 4122).. - A human readable name for the world anchor. (required). - An Universally Unique IDentifier identifying the creator of the world anchor. (required). + An Universally Unique IDentifier identifying the World Anchor (RFC 4122).. + A human readable name for the World Anchor. (required). + An Universally Unique IDentifier identifying the creator of the World Anchor. (required). Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required). unit (required). - Size {width, length, depth}. (required). + Size object in format {width, length, depth}. (required). List of additional parameters to be stored with the object. (required). @@ -2568,21 +2808,21 @@ - An Universally Unique IDentifier identifying the world anchor (RFC 4122). + An Universally Unique IDentifier identifying the World Anchor (RFC 4122). - An Universally Unique IDentifier identifying the world anchor (RFC 4122). + An Universally Unique IDentifier identifying the World Anchor (RFC 4122). - A human readable name for the world anchor. + A human readable name for the World Anchor. - A human readable name for the world anchor. + A human readable name for the World Anchor. - An Universally Unique IDentifier identifying the creator of the world anchor. + An Universally Unique IDentifier identifying the creator of the World Anchor. - An Universally Unique IDentifier identifying the creator of the world anchor. + An Universally Unique IDentifier identifying the creator of the World Anchor. @@ -2592,9 +2832,9 @@ - Size {width, length, depth}. + Size object in format {width, length, depth}. - Size {width, length, depth}. + Size object in format {width, length, depth}. @@ -2612,19 +2852,18 @@ Initializes a new instance of the class. - + Initializes a new instance of the class. - An Universally Unique IDentifier identifying the link (RFC 4122).. - An Universally Unique IDentifier identifying the creator of the link. (required). - An Universally Unique IDentifier identifying a world anchor or trackable. (required). - An Universally Unique IDentifier identifying a world anchor or trackable. (required). - typeFrom. - typeTo. + An Universally Unique IDentifier identifying the World Link (RFC 4122).. + An Universally Unique IDentifier identifying the creator of the World Link. (required). + An Universally Unique IDentifier identifying a World Anchor or Trackable. (required). + An Universally Unique IDentifier identifying a World Anchor or Trackable. (required). + typeFrom (required). + typeTo (required). Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required). unit (required). - Size {width, length, depth}. (required). List of additional parameters to be stored with the object. (required). @@ -2683,27 +2922,27 @@ - An Universally Unique IDentifier identifying the link (RFC 4122). + An Universally Unique IDentifier identifying the World Link (RFC 4122). - An Universally Unique IDentifier identifying the link (RFC 4122). + An Universally Unique IDentifier identifying the World Link (RFC 4122). - An Universally Unique IDentifier identifying the creator of the link. + An Universally Unique IDentifier identifying the creator of the World Link. - An Universally Unique IDentifier identifying the creator of the link. + An Universally Unique IDentifier identifying the creator of the World Link. - An Universally Unique IDentifier identifying a world anchor or trackable. + An Universally Unique IDentifier identifying a World Anchor or Trackable. - An Universally Unique IDentifier identifying a world anchor or trackable. + An Universally Unique IDentifier identifying a World Anchor or Trackable. - An Universally Unique IDentifier identifying a world anchor or trackable. + An Universally Unique IDentifier identifying a World Anchor or Trackable. - An Universally Unique IDentifier identifying a world anchor or trackable. + An Universally Unique IDentifier identifying a World Anchor or Trackable. @@ -2711,12 +2950,6 @@ Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. - - - Size {width, length, depth}. - - Size {width, length, depth}. - List of additional parameters to be stored with the object. -- GitLab