Skip to content
Snippets Groups Projects
Commit 02d752fd authored by Sylvain Renault's avatar Sylvain Renault
Browse files

New API.

Minor GUI changes (layout, Name of element)
parent 6a3ffd1d
No related branches found
No related tags found
2 merge requests!2Major structural and design changes on GUI, classes, parameters...,!1Feature/with submodule
......@@ -30,6 +30,7 @@ namespace ETSI.ARF.WorldStorage.UI
bool groupEnabled;
string uid = System.Guid.Empty.ToString();
string customName = "NotDefined";
string creatorUid = System.Guid.Empty.ToString();
string type = "Unknow";
string unit = "Unknow";
......@@ -117,6 +118,7 @@ namespace ETSI.ARF.WorldStorage.UI
//graph.Draw();
}
/*
void DrawTrackableStuffs()// Trackable trackable)
{
GUILayout.BeginVertical("AR Trackable", gsTest);
......@@ -133,9 +135,9 @@ namespace ETSI.ARF.WorldStorage.UI
if (GUILayout.Button("Get Parameters"))
{
Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid);
creatorUid = t.CreatorUID.ToString();
creatorUid = t.CreatorUUID.ToString();
type = t.GetType().ToString();
unit = t.UnitSystem.ToString();
unit = t.Unit.ToString();
}
GUI.backgroundColor = ori;
......@@ -177,18 +179,18 @@ namespace ETSI.ARF.WorldStorage.UI
{
Debug.Log("PostAddTrackable");
if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString();
Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID);
Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, cus, worldStorageSettings.creatorUID);
RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t);
WorldStorageWindow.WorldStorageWindowSingleton.UpdateList();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
uid = t.UID.ToString();
uid = t.UUID.ToString();
type = t.GetType().ToString();
unit = t.UnitSystem.ToString();
unit = t.Unit.ToString();
}
GUI.backgroundColor = ori;
}
*/
}
}
\ No newline at end of file
......@@ -38,8 +38,9 @@ namespace ETSI.ARF.WorldStorage.UI
bool groupEnabled;
string uid = System.Guid.Empty.ToString();
string creatorUid = System.Guid.Empty.ToString();
string UUID = System.Guid.Empty.ToString();
string customName = "NotDefined";
string creatorUUID = System.Guid.Empty.ToString();
string type = "Unknow";
string unit = "Unknow";
Vector2Int dim;
......@@ -72,7 +73,7 @@ namespace ETSI.ARF.WorldStorage.UI
scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true));
WorldStorageWindow.DrawCopyright();
DrawTrackableStuffs();// currentTrackable);
DrawTrackableStuffs();
EditorGUILayout.EndScrollView();
......@@ -87,20 +88,28 @@ namespace ETSI.ARF.WorldStorage.UI
GUILayout.BeginVertical("AR Trackable", gsTest);
//
GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel);
GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly
EditorGUILayout.Space();
//GUILayout.BeginHorizontal();
uid = EditorGUILayout.TextField("UID (0 = new one)", uid);
customName = EditorGUILayout.TextField("Name of Trackable", customName);
GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly
GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly
EditorGUILayout.Space();
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Get Parameters"))
{
Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid);
creatorUid = t.CreatorUID.ToString();
type = t.GetType().ToString();
unit = t.UnitSystem.ToString();
if (!customName.Contains("[")) UUID = customName;
else
{
// extract the UUID
UUID = customName.Split('[', ']')[1];
}
Trackable obj = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, UUID);
customName = obj.Name;
creatorUUID = obj.CreatorUUID.ToString();
type = obj.TrackableType.ToString();
unit = obj.Unit.ToString();
}
GUI.backgroundColor = ori;
......@@ -123,41 +132,45 @@ namespace ETSI.ARF.WorldStorage.UI
//
GUILayout.EndVertical();
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[2];
if (GUILayout.Button("Create/Update Trackable"))
{
Debug.Log("PostAddTrackable");
if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString();
Trackable obj = RESTfulTrackableRequest.TrackableFromStrings(UUID, customName, worldStorageSettings.creatorUID);
RESTfulTrackableRequest.AddTrackable(worldStorageSettings, obj);
WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
UUID = obj.UUID.ToString();
customName = obj.Name;
type = obj.TrackableType.ToString();
unit = obj.Unit.ToString();
}
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[3];
if (GUILayout.Button("Delete Trackable"))
{
Debug.Log("Deleting Trackable");
RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, uid);
uid = System.Guid.Empty.ToString();
creatorUid = System.Guid.Empty.ToString();
RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, UUID);
UUID = System.Guid.Empty.ToString();
creatorUUID = System.Guid.Empty.ToString();
type = "";
unit = "";
WorldStorageWindow.WorldStorageWindowSingleton.UpdateList();
WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
}
GUI.backgroundColor = ori;
GUI.backgroundColor = WorldStorageWindow.arfColors[2];
if (GUILayout.Button("Create/Update Trackable"))
{
Debug.Log("PostAddTrackable");
if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString();
Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID);
RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t);
WorldStorageWindow.WorldStorageWindowSingleton.UpdateList();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
uid = t.UID.ToString();
type = t.GetType().ToString();
unit = t.UnitSystem.ToString();
}
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[5];
if (GUILayout.Button("Generate GameObject Component"))
{
}
GUI.backgroundColor = ori;
GUI.backgroundColor = ori;
}
}
}
\ No newline at end of file
......@@ -37,9 +37,9 @@ namespace ETSI.ARF.WorldStorage.UI
bool groupEnabled;
string creatorUid = System.Guid.Empty.ToString();
string uid = System.Guid.Empty.ToString();
string type = "Unknow";
string UUID = System.Guid.Empty.ToString();
string customName = "NotDefined";
string creatorUUID = System.Guid.Empty.ToString();
string unit = "Unknow";
Vector2Int dim;
......@@ -67,7 +67,9 @@ namespace ETSI.ARF.WorldStorage.UI
scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true));
WorldStorageWindow.DrawCopyright();
DrawAnchorStuffs();
EditorGUILayout.EndScrollView();
if (GUILayout.Button("Close Window"))
......@@ -81,24 +83,36 @@ namespace ETSI.ARF.WorldStorage.UI
GUILayout.BeginVertical("AR World Anchor", gsTest);
//
GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel);
GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly
EditorGUILayout.Space();
//GUILayout.BeginHorizontal();
uid = EditorGUILayout.TextField("UID (0 = create new)", uid);
customName = EditorGUILayout.TextField("Name of Anchor", customName);
GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly
GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly
EditorGUILayout.Space();
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Get Parameters"))
{
//WorldStorageRestRequest.PostAddTrackable(worldStorageSettings);
if (!customName.Contains("[")) UUID = customName;
else
{
// extract the UUID
UUID = customName.Split('[', ']')[1];
}
WorldAnchor obj = RESTfulWorldAnchorRequest.GetWorldAnchor(worldStorageSettings, UUID);
customName = obj.Name;
creatorUUID = obj.CreatorUUID.ToString();
unit = obj.Unit.ToString();
}
GUI.backgroundColor = ori;
//GUILayout.EndHorizontal();
type = EditorGUILayout.TextField("Anchor Type", type);
unit = EditorGUILayout.TextField("Unit System", unit);
EditorGUILayout.Space(10);
dim = EditorGUILayout.Vector2IntField("Dimension", dim);
EditorGUILayout.Space();
groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled);
EditorGUILayout.IntField("Number of KeyValues", 0);
......@@ -106,15 +120,44 @@ namespace ETSI.ARF.WorldStorage.UI
EditorGUILayout.TextField("Key", "");
EditorGUILayout.TextField("Value", "");
EditorGUILayout.EndToggleGroup();
//
GUILayout.EndVertical();
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[2];
if (GUILayout.Button("Create/Update World Anchor"))
{
Debug.Log("PostAddWorldAnchor");
RESTfulWorldAnchorRequest.PostAddWorldAnchor(worldStorageSettings);
if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString();
WorldAnchor obj = RESTfulWorldAnchorRequest.WorldAnchorFromStrings(UUID, customName, worldStorageSettings.creatorUID);
RESTfulWorldAnchorRequest.AddWorldAnchor(worldStorageSettings, obj);
WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
UUID = obj.UUID.ToString();
customName = obj.Name;
unit = obj.Unit.ToString();
}
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[3];
if (GUILayout.Button("Delete World Anchor"))
{
Debug.Log("Deleting World Anchor");
RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, UUID);
UUID = System.Guid.Empty.ToString();
creatorUUID = System.Guid.Empty.ToString();
unit = "";
WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
}
GUI.backgroundColor = ori;
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[5];
if (GUILayout.Button("Generate GameObject Component"))
{
}
GUI.backgroundColor = ori;
}
......
......@@ -8,7 +8,7 @@
// Authors:
// - Sylvain Renault (Fraunhofer HHI)
//
// Date: Feb. 2022
// Date: May 2022
//
#define USING_OPENAPI_GENERATOR // alt. is Swagger
......@@ -17,6 +17,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using ETSI.ARF.WorldStorage;
using ETSI.ARF.WorldStorage.RESTful;
#if USING_OPENAPI_GENERATOR
......@@ -38,7 +39,10 @@ namespace ETSI.ARF.WorldStorage.UI
[SerializeField] public List<string> creators = new List<string>();
[SerializeField] public List<string> trackables = new List<string>();
[SerializeField] public List<string> anchors = new List<string>();
string ping = "-";
string state = "Unknow";
string vers = "Unknow";
private Vector2 scrollPos;
......@@ -108,7 +112,7 @@ namespace ETSI.ARF.WorldStorage.UI
EditorGUILayout.EndScrollView();
}
public void UpdateList()
public void UpdateListTrackables()
{
// Get all objects
Debug.Log("Get all server objects");
......@@ -116,7 +120,21 @@ namespace ETSI.ARF.WorldStorage.UI
trackables.Clear();
foreach (var item in res)
{
trackables.Add(item.UID.ToString());
if (!string.IsNullOrEmpty(item.Name)) trackables.Add(item.Name + " [" + item.UUID.ToString() + "]");
else trackables.Add(item.UUID.ToString());
}
}
public void UpdateListWorldAnchors()
{
// Get all objects
Debug.Log("Get all server objects");
List<WorldAnchor> res = RESTfulWorldAnchorRequest.GetAllWorldAnchors(worldStorageSettings);
anchors.Clear();
foreach (var item in res)
{
if (!string.IsNullOrEmpty(item.Name)) anchors.Add(item.Name + " [" + item.UUID.ToString() + "]");
else anchors.Add(item.UUID.ToString());
}
}
......@@ -134,29 +152,46 @@ namespace ETSI.ARF.WorldStorage.UI
EditorGUILayout.Space();
// Ping
EditorGUILayout.Space();
#region Ping
GUILayout.BeginHorizontal();
ping = EditorGUILayout.TextField("Last Ping", ping);
if (GUILayout.Button("Ping"))
{
vers = RESTfulAdminRequest.Ping(worldStorageSettings);
ping = RESTfulAdminRequest.Ping(worldStorageSettings);
}
GUI.backgroundColor = ori;
GUILayout.EndHorizontal();
#endregion
// Version
#region State
GUILayout.BeginHorizontal();
state = EditorGUILayout.TextField("State", state);
if (GUILayout.Button("Get World Storage Sate"))
{
state = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings);
}
GUI.backgroundColor = ori;
GUILayout.EndHorizontal();
#endregion
#region Version
GUILayout.BeginHorizontal();
vers = EditorGUILayout.TextField("Version", vers);
if (GUILayout.Button("Get World Storage API Version"))
{
vers = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings);
vers = RESTfulAdminRequest.GetVersion(worldStorageSettings);
}
GUI.backgroundColor = ori;
GUILayout.EndHorizontal();
#endregion
ScriptableObject target = this;
SerializedObject so = new SerializedObject(target);
// Get creators
#region Get all creatorUid
#region Get all creator UUID
EditorGUILayout.Space(10);
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Request all Creator ID"))
......@@ -167,7 +202,7 @@ namespace ETSI.ARF.WorldStorage.UI
creators.Clear();
foreach (var item in res)
{
if (!creators.Contains(item.CreatorUID.ToString())) creators.Add(item.CreatorUID.ToString());
if (!creators.Contains(item.CreatorUUID.ToString())) creators.Add(item.CreatorUUID.ToString());
}
}
GUI.backgroundColor = ori;
......@@ -177,51 +212,84 @@ namespace ETSI.ARF.WorldStorage.UI
so.ApplyModifiedProperties(); // Remember to apply modified properties
#endregion
//
// Get trackables
//
#region Get all trackable objects
EditorGUILayout.Space(10);
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Request all Trackable ID"))
if (GUILayout.Button("Request Trackables"))
{
UpdateList();
UpdateListTrackables();
}
GUI.backgroundColor = ori;
//GUILayout.Label("Number of Trackables: " + trackables.Count.ToString());
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[3];
if (GUILayout.Button("Delete all Trackables (5 stay in!!!)"))
if (GUILayout.Button("Delete all Trackables (3 stay in!!!)"))
{
Debug.Log("Deleting all Trackable ");
int n = 0;
foreach (var item in trackables)
{
if (++n > 5) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item);
if (++n > 3) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item);
}
UpdateList();
UpdateListTrackables();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
}
GUI.backgroundColor = ori;
// Show list
stringsProperty = so.FindProperty("trackables");
EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children
so.ApplyModifiedProperties(); // Remember to apply modified properties
#endregion
// Anchors
//
// Get anchors
//
#region Get all anchor objects
EditorGUILayout.Space(10);
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Request all Anchor ID"))
if (GUILayout.Button("Request Anchors"))
{
UpdateListWorldAnchors();
}
GUI.backgroundColor = ori;
// ###########################################################
GUI.backgroundColor = WorldStorageWindow.arfColors[3];
if (GUILayout.Button("Delete all World Anchors (3 stay in!!!)"))
{
Debug.Log("Deleting all World Anchors ");
int n = 0;
foreach (var item in anchors)
{
if (++n > 3) RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, item);
}
UpdateListWorldAnchors();
WorldStorageWindow.WorldStorageWindowSingleton.Repaint();
}
GUI.backgroundColor = ori;
// Show list
stringsProperty = so.FindProperty("anchors");
EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children
so.ApplyModifiedProperties(); // Remember to apply modified properties
#endregion
// Links
//
// Get Links
//
#region Get all link objects
GUI.backgroundColor = WorldStorageWindow.arfColors[1];
if (GUILayout.Button("Request all Link ID"))
if (GUILayout.Button("Request all Link UUID"))
{
}
......
......@@ -15,4 +15,4 @@ MonoBehaviour:
serverName: HHI Servers
creatorUID: 9739c1d7-b86d-4894-9f4a-2e43ea6cfdf6
basePath: https://ics1.hhi.fraunhofer.de
port: 40311
port: 8080
......@@ -15,4 +15,4 @@ MonoBehaviour:
serverName: HHI Servers (intern test)
creatorUID: 2af3e69e-91d6-4021-99d1-188917df8ea8
basePath: http://vm009254.fe.hhi.de/
port: 40311
port: 8080
......@@ -7,6 +7,7 @@
"com.unity.test-framework": "1.1.24",
"com.unity.textmeshpro": "3.0.4",
"com.unity.timeline": "1.4.7",
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.0",
"com.unity.ugui": "1.0.0",
"etsi.isg.arf.worldstorage": "file:./unity-world-storage-package",
"com.unity.modules.ai": "1.0.0",
......
......@@ -39,6 +39,22 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.sysroot": {
"version": "2.0.0",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.sysroot.linux-x86_64": {
"version": "2.0.0",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.sysroot": "2.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
"version": "1.1.24",
"depth": 0,
......@@ -71,6 +87,16 @@
},
"url": "https://packages.unity.com"
},
"com.unity.toolchain.win-x86_64-linux-x86_64": {
"version": "2.0.0",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.sysroot": "2.0.0",
"com.unity.sysroot.linux-x86_64": "2.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.ugui": {
"version": "1.0.0",
"depth": 0,
......
Subproject commit 0fe54fb13060f8856ee7545408ef6c6329c832df
Subproject commit 8a3fc6a294f022a0c733c65af2b6cf564a3666b9
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment