Loading Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs +45 −38 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class TrackableWindow : EditorWindow { static public TrackableWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -64,11 +66,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { TrackableWindow win = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetTrackableParams(); } } public TrackableWindow() Loading Loading @@ -114,41 +121,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } Trackable obj = TrackableRequest.GetTrackable(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); type = obj.TrackableType; unit = obj.Unit; if (obj.TrackableSize.Count == 3) if (GUILayout.Button("Read Parameters")) { trackableSize = new Vector3((float)obj.TrackableSize[0], (float)obj.TrackableSize[1], (float)obj.TrackableSize[2]); } else trackableSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetTrackableParams(); } GUI.backgroundColor = ori; Loading Loading @@ -248,6 +225,36 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetTrackableParams() { Trackable obj = TrackableRequest.GetTrackable(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); type = obj.TrackableType; unit = obj.Unit; if (obj.TrackableSize.Count == 3) { trackableSize = new Vector3((float)obj.TrackableSize[0], (float)obj.TrackableSize[1], (float)obj.TrackableSize[2]); } else trackableSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public Trackable GenerateTrackable() { Loading Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs +45 −37 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldAnchorWindow : EditorWindow { static public WorldAnchorWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -61,11 +63,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { WorldAnchorWindow win = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetWorldAnchorParams(); } } public WorldAnchorWindow() Loading Loading @@ -111,40 +118,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } WorldAnchor obj = WorldAnchorRequest.GetWorldAnchor(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); unit = obj.Unit; if (obj.WorldAnchorSize.Count == 3) if (GUILayout.Button("Read Parameters")) { worldAnchorSize = new Vector3((float)obj.WorldAnchorSize[0], (float)obj.WorldAnchorSize[1], (float)obj.WorldAnchorSize[2]); } else worldAnchorSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetWorldAnchorParams(); } GUI.backgroundColor = ori; Loading Loading @@ -224,6 +202,36 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetWorldAnchorParams() { WorldAnchor obj = WorldAnchorRequest.GetWorldAnchor(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); unit = obj.Unit; if (obj.WorldAnchorSize.Count == 3) { worldAnchorSize = new Vector3((float)obj.WorldAnchorSize[0], (float)obj.WorldAnchorSize[1], (float)obj.WorldAnchorSize[2]); } else worldAnchorSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public WorldAnchor GenerateWorldAnchor() { #if USING_OPENAPI_GENERATOR Loading Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldLinkWindow.cs +44 −36 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldLinkWindow : EditorWindow { static public WorldLinkWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -63,11 +65,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(WorldLinkWindow), false, WorldStorageWindow.winName) as WorldLinkWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { WorldLinkWindow win = EditorWindow.GetWindow(typeof(WorldLinkWindow), false, WorldStorageWindow.winName) as WorldLinkWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetWorldLinkParams(); } } public WorldLinkWindow() Loading Loading @@ -113,39 +120,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } WorldLink obj = WorldLinkRequest.GetWorldLink(worldStorageServer, UUID); //customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); fromUUID = obj.UUIDFrom.ToString(); toUUID = obj.UUIDTo.ToString(); fromType = obj.TypeFrom; toType = obj.TypeTo; unit = obj.Unit; if (obj.Transform.Count == 16) if (GUILayout.Button("Read Parameters")) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.Transform[0]; localCRS.m01 = obj.Transform[1]; localCRS.m02 = obj.Transform[2]; localCRS.m03 = obj.Transform[3]; localCRS.m10 = obj.Transform[4]; localCRS.m11 = obj.Transform[5]; localCRS.m12 = obj.Transform[6]; localCRS.m13 = obj.Transform[7]; localCRS.m20 = obj.Transform[8]; localCRS.m21 = obj.Transform[9]; localCRS.m22 = obj.Transform[10]; localCRS.m23 = obj.Transform[11]; localCRS.m30 = obj.Transform[12]; localCRS.m31 = obj.Transform[13]; localCRS.m32 = obj.Transform[14]; localCRS.m33 = obj.Transform[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetWorldLinkParams(); } GUI.backgroundColor = ori; Loading Loading @@ -225,6 +204,35 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetWorldLinkParams() { WorldLink obj = WorldLinkRequest.GetWorldLink(worldStorageServer, UUID); //customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); fromUUID = obj.UUIDFrom.ToString(); toUUID = obj.UUIDTo.ToString(); fromType = obj.TypeFrom; toType = obj.TypeTo; unit = obj.Unit; if (obj.Transform.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.Transform[0]; localCRS.m01 = obj.Transform[1]; localCRS.m02 = obj.Transform[2]; localCRS.m03 = obj.Transform[3]; localCRS.m10 = obj.Transform[4]; localCRS.m11 = obj.Transform[5]; localCRS.m12 = obj.Transform[6]; localCRS.m13 = obj.Transform[7]; localCRS.m20 = obj.Transform[8]; localCRS.m21 = obj.Transform[9]; localCRS.m22 = obj.Transform[10]; localCRS.m23 = obj.Transform[11]; localCRS.m30 = obj.Transform[12]; localCRS.m31 = obj.Transform[13]; localCRS.m32 = obj.Transform[14]; localCRS.m33 = obj.Transform[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public WorldLink GenerateWorldLink() { Matrix4x4 localCRS = new Matrix4x4(); Loading Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs +104 −7 Original line number Diff line number Diff line Loading @@ -59,6 +59,12 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; private static GUILayoutOption miniButtonWidth = GUILayout.Width(32); private static GUILayoutOption buttonWidth = GUILayout.Width(64f); private bool showListT = true; private bool showListA = true; private bool showListL = true; static public string winName = "ARF Authoring Editor"; static public Color[] arfColors = new Color[] { Loading Loading @@ -124,6 +130,10 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.EndScrollView(); } public void OnInspectorUpdate() { this.Repaint(); } void DrawElementStuffs() { Loading Loading @@ -228,9 +238,34 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("trackables"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListT = EditorGUILayout.BeginFoldoutHeaderGroup(showListT, "List of Trackables"); if (showListT) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = trackables[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { TrackableRequest.DeleteTrackable(worldStorageServer, UUID); WorldStorageWindowSingleton.GetTrackables(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Trackable Window"); TrackableWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // ########################################################### Loading Loading @@ -276,8 +311,34 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("anchors"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListA = EditorGUILayout.BeginFoldoutHeaderGroup(showListA, "List of World Anchors"); if (showListA) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = anchors[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { WorldAnchorRequest.DeleteWorldAnchor(worldStorageServer, UUID); WorldStorageWindowSingleton.GetWorldAnchors(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Anchor Window"); WorldAnchorWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // ########################################################### Loading Loading @@ -323,8 +384,35 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("links"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListL = EditorGUILayout.BeginFoldoutHeaderGroup(showListL, "List of World Links"); if (showListL) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = links[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { WorldLinkRequest.DeleteWorldLink(worldStorageServer, UUID); WorldStorageWindowSingleton.GetWorldLinks(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Link Window"); WorldLinkWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // Loading @@ -335,6 +423,15 @@ namespace ETSI.ARF.WorldStorage.UI // Get elements from current server // ########################################################### #region Helpers static public string GetUUIDFromString(string text) { if (!text.Contains("[")) return null; else { // extract the UUID return text.Split('[', ']')[1]; } } public void GetCreators() { // Get all objects Loading UserSettings/Layouts/default-2021.dwlt +62 −62 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs +45 −38 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class TrackableWindow : EditorWindow { static public TrackableWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -64,11 +66,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { TrackableWindow win = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetTrackableParams(); } } public TrackableWindow() Loading Loading @@ -114,41 +121,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } Trackable obj = TrackableRequest.GetTrackable(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); type = obj.TrackableType; unit = obj.Unit; if (obj.TrackableSize.Count == 3) if (GUILayout.Button("Read Parameters")) { trackableSize = new Vector3((float)obj.TrackableSize[0], (float)obj.TrackableSize[1], (float)obj.TrackableSize[2]); } else trackableSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetTrackableParams(); } GUI.backgroundColor = ori; Loading Loading @@ -248,6 +225,36 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetTrackableParams() { Trackable obj = TrackableRequest.GetTrackable(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); type = obj.TrackableType; unit = obj.Unit; if (obj.TrackableSize.Count == 3) { trackableSize = new Vector3((float)obj.TrackableSize[0], (float)obj.TrackableSize[1], (float)obj.TrackableSize[2]); } else trackableSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public Trackable GenerateTrackable() { Loading
Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs +45 −37 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldAnchorWindow : EditorWindow { static public WorldAnchorWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -61,11 +63,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { WorldAnchorWindow win = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetWorldAnchorParams(); } } public WorldAnchorWindow() Loading Loading @@ -111,40 +118,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } WorldAnchor obj = WorldAnchorRequest.GetWorldAnchor(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); unit = obj.Unit; if (obj.WorldAnchorSize.Count == 3) if (GUILayout.Button("Read Parameters")) { worldAnchorSize = new Vector3((float)obj.WorldAnchorSize[0], (float)obj.WorldAnchorSize[1], (float)obj.WorldAnchorSize[2]); } else worldAnchorSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetWorldAnchorParams(); } GUI.backgroundColor = ori; Loading Loading @@ -224,6 +202,36 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetWorldAnchorParams() { WorldAnchor obj = WorldAnchorRequest.GetWorldAnchor(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); unit = obj.Unit; if (obj.WorldAnchorSize.Count == 3) { worldAnchorSize = new Vector3((float)obj.WorldAnchorSize[0], (float)obj.WorldAnchorSize[1], (float)obj.WorldAnchorSize[2]); } else worldAnchorSize = Vector3.zero; if (obj.LocalCRS.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.LocalCRS[0]; localCRS.m01 = obj.LocalCRS[1]; localCRS.m02 = obj.LocalCRS[2]; localCRS.m03 = obj.LocalCRS[3]; localCRS.m10 = obj.LocalCRS[4]; localCRS.m11 = obj.LocalCRS[5]; localCRS.m12 = obj.LocalCRS[6]; localCRS.m13 = obj.LocalCRS[7]; localCRS.m20 = obj.LocalCRS[8]; localCRS.m21 = obj.LocalCRS[9]; localCRS.m22 = obj.LocalCRS[10]; localCRS.m23 = obj.LocalCRS[11]; localCRS.m30 = obj.LocalCRS[12]; localCRS.m31 = obj.LocalCRS[13]; localCRS.m32 = obj.LocalCRS[14]; localCRS.m33 = obj.LocalCRS[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public WorldAnchor GenerateWorldAnchor() { #if USING_OPENAPI_GENERATOR Loading
Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldLinkWindow.cs +44 −36 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldLinkWindow : EditorWindow { static public WorldLinkWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; Loading @@ -63,11 +65,16 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user, string UUID = "") { winSingleton = EditorWindow.GetWindow(typeof(WorldLinkWindow), false, WorldStorageWindow.winName) as WorldLinkWindow; winSingleton.worldStorageServer = ws; winSingleton.worldStorageUser = user; if (!string.IsNullOrEmpty(UUID)) { WorldLinkWindow win = EditorWindow.GetWindow(typeof(WorldLinkWindow), false, WorldStorageWindow.winName) as WorldLinkWindow; win.worldStorageServer = ws; win.worldStorageUser = user; winSingleton.UUID = UUID; winSingleton.GetWorldLinkParams(); } } public WorldLinkWindow() Loading Loading @@ -113,39 +120,11 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else { // extract the UUID UUID = customName.Split('[', ']')[1]; } WorldLink obj = WorldLinkRequest.GetWorldLink(worldStorageServer, UUID); //customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); fromUUID = obj.UUIDFrom.ToString(); toUUID = obj.UUIDTo.ToString(); fromType = obj.TypeFrom; toType = obj.TypeTo; unit = obj.Unit; if (obj.Transform.Count == 16) if (GUILayout.Button("Read Parameters")) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.Transform[0]; localCRS.m01 = obj.Transform[1]; localCRS.m02 = obj.Transform[2]; localCRS.m03 = obj.Transform[3]; localCRS.m10 = obj.Transform[4]; localCRS.m11 = obj.Transform[5]; localCRS.m12 = obj.Transform[6]; localCRS.m13 = obj.Transform[7]; localCRS.m20 = obj.Transform[8]; localCRS.m21 = obj.Transform[9]; localCRS.m22 = obj.Transform[10]; localCRS.m23 = obj.Transform[11]; localCRS.m30 = obj.Transform[12]; localCRS.m31 = obj.Transform[13]; localCRS.m32 = obj.Transform[14]; localCRS.m33 = obj.Transform[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this GetWorldLinkParams(); } GUI.backgroundColor = ori; Loading Loading @@ -225,6 +204,35 @@ namespace ETSI.ARF.WorldStorage.UI GUI.backgroundColor = ori; } private void GetWorldLinkParams() { WorldLink obj = WorldLinkRequest.GetWorldLink(worldStorageServer, UUID); //customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); fromUUID = obj.UUIDFrom.ToString(); toUUID = obj.UUIDTo.ToString(); fromType = obj.TypeFrom; toType = obj.TypeTo; unit = obj.Unit; if (obj.Transform.Count == 16) { Matrix4x4 localCRS = new Matrix4x4(); localCRS.m00 = obj.Transform[0]; localCRS.m01 = obj.Transform[1]; localCRS.m02 = obj.Transform[2]; localCRS.m03 = obj.Transform[3]; localCRS.m10 = obj.Transform[4]; localCRS.m11 = obj.Transform[5]; localCRS.m12 = obj.Transform[6]; localCRS.m13 = obj.Transform[7]; localCRS.m20 = obj.Transform[8]; localCRS.m21 = obj.Transform[9]; localCRS.m22 = obj.Transform[10]; localCRS.m23 = obj.Transform[11]; localCRS.m30 = obj.Transform[12]; localCRS.m31 = obj.Transform[13]; localCRS.m32 = obj.Transform[14]; localCRS.m33 = obj.Transform[15]; localCRS_pos = localCRS.GetPosition(); localCRS_rot = localCRS.rotation.eulerAngles; } else { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO } public WorldLink GenerateWorldLink() { Matrix4x4 localCRS = new Matrix4x4(); Loading
Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs +104 −7 Original line number Diff line number Diff line Loading @@ -59,6 +59,12 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; private static GUILayoutOption miniButtonWidth = GUILayout.Width(32); private static GUILayoutOption buttonWidth = GUILayout.Width(64f); private bool showListT = true; private bool showListA = true; private bool showListL = true; static public string winName = "ARF Authoring Editor"; static public Color[] arfColors = new Color[] { Loading Loading @@ -124,6 +130,10 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.EndScrollView(); } public void OnInspectorUpdate() { this.Repaint(); } void DrawElementStuffs() { Loading Loading @@ -228,9 +238,34 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("trackables"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListT = EditorGUILayout.BeginFoldoutHeaderGroup(showListT, "List of Trackables"); if (showListT) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = trackables[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { TrackableRequest.DeleteTrackable(worldStorageServer, UUID); WorldStorageWindowSingleton.GetTrackables(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Trackable Window"); TrackableWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // ########################################################### Loading Loading @@ -276,8 +311,34 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("anchors"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListA = EditorGUILayout.BeginFoldoutHeaderGroup(showListA, "List of World Anchors"); if (showListA) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = anchors[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { WorldAnchorRequest.DeleteWorldAnchor(worldStorageServer, UUID); WorldStorageWindowSingleton.GetWorldAnchors(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Anchor Window"); WorldAnchorWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // ########################################################### Loading Loading @@ -323,8 +384,35 @@ namespace ETSI.ARF.WorldStorage.UI // Show list stringsProperty = so.FindProperty("links"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties //EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children //so.ApplyModifiedProperties(); // Remember to apply modified properties // New version with "Edit" button: showListL = EditorGUILayout.BeginFoldoutHeaderGroup(showListL, "List of World Links"); if (showListL) for (int i = 0; i < stringsProperty.arraySize; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(stringsProperty.GetArrayElementAtIndex(i)); //EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none); string UUID = WorldStorageWindow.GetUUIDFromString(stringsProperty.GetArrayElementAtIndex(i).stringValue); if (UUID == null) UUID = links[i]; // try this if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth)) { WorldLinkRequest.DeleteWorldLink(worldStorageServer, UUID); WorldStorageWindowSingleton.GetWorldLinks(); WorldStorageWindowSingleton.Repaint(); } if (GUILayout.Button("Edit...", EditorStyles.miniButtonLeft, buttonWidth)) { Debug.Log("Open Link Window"); WorldLinkWindow.ShowWindow(worldStorageServer, worldStorageUser, UUID); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFoldoutHeaderGroup(); #endregion // Loading @@ -335,6 +423,15 @@ namespace ETSI.ARF.WorldStorage.UI // Get elements from current server // ########################################################### #region Helpers static public string GetUUIDFromString(string text) { if (!text.Contains("[")) return null; else { // extract the UUID return text.Split('[', ']')[1]; } } public void GetCreators() { // Get all objects Loading
UserSettings/Layouts/default-2021.dwlt +62 −62 File changed.Preview size limit exceeded, changes collapsed. Show changes