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 +89 −38 Original line number Diff line number Diff line Loading @@ -39,19 +39,29 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldLinkWindow : EditorWindow { static public WorldLinkWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; [SerializeField] public List<string> anchors = new List<string>(); bool groupEnabled; private static GUILayoutOption miniButtonWidth = GUILayout.Width(50); // World Anchors params string UUID = System.Guid.Empty.ToString(); string customName = "(no name for World Links)"; string creatorUUID = System.Guid.Empty.ToString(); // From... private bool showListFrom = true; string fromName = "(none)"; string fromUUID = System.Guid.Empty.ToString(); // To... private bool showListTo = true; string toName = "(none)"; string toUUID = System.Guid.Empty.ToString(); UnitSystem unit = UnitSystem.CM; ObjectType fromType = ObjectType.NotIdentified, toType = ObjectType.NotIdentified; Vector3 localCRS_pos; Loading @@ -63,11 +73,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,46 +128,53 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else if (GUILayout.Button("Read Parameters")) { // extract the UUID UUID = customName.Split('[', ']')[1]; UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this 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) GUI.backgroundColor = ori; unit = (UnitSystem)EditorGUILayout.EnumPopup("Unit System:", unit); EditorGUILayout.Space(); showListFrom = EditorGUILayout.Foldout(showListFrom, "Parent Object (From)"); if (showListFrom) { 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 EditorGUILayout.BeginHorizontal(); fromUUID = EditorGUILayout.TextField("UUID", fromUUID); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Find", EditorStyles.miniButtonLeft, miniButtonWidth)) { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO // TODO Request the object from the server fromName = "(not implemented yet)"; fromType = ObjectType.NotIdentified; } EditorGUILayout.EndHorizontal(); GUI.backgroundColor = ori; fromName = EditorGUILayout.TextField("Name", fromName); fromType = (ObjectType)EditorGUILayout.EnumPopup("Type:", fromType); } unit = (UnitSystem)EditorGUILayout.EnumPopup("Unit System:", unit); fromType = (ObjectType)EditorGUILayout.EnumPopup("From Object Type:", fromType); toType = (ObjectType)EditorGUILayout.EnumPopup("To Object Type:", toType); EditorGUILayout.Space(); showListTo = EditorGUILayout.Foldout(showListTo, "Child Object (To)"); if (showListTo) { EditorGUILayout.BeginHorizontal(); toUUID = EditorGUILayout.TextField("UUID", toUUID); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Find", EditorStyles.miniButtonLeft, miniButtonWidth)) { // TODO Request the object from the server toName = "(not implemented yet)"; toType = ObjectType.NotIdentified; } EditorGUILayout.EndHorizontal(); GUI.backgroundColor = ori; toName = EditorGUILayout.TextField("Name", toName); toType = (ObjectType)EditorGUILayout.EnumPopup("Type:", toType); } EditorGUILayout.Space(10); GUILayout.Label("Local CRS:"); Loading Loading @@ -225,6 +247,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 File changed.Preview size limit exceeded, changes collapsed. Show changes unity-world-storage-package @ 688bf209 Compare c8406f18 to 688bf209 Original line number Diff line number Diff line Subproject commit c8406f18a9f789d4cc0eb2ef995d274797ea4051 Subproject commit 688bf209c3e6d27d10782b2583b0e9c8edea15c7 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 +89 −38 Original line number Diff line number Diff line Loading @@ -39,19 +39,29 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldLinkWindow : EditorWindow { static public WorldLinkWindow winSingleton; [HideInInspector] public WorldStorageServer worldStorageServer; [HideInInspector] public WorldStorageUser worldStorageUser; [SerializeField] public List<string> anchors = new List<string>(); bool groupEnabled; private static GUILayoutOption miniButtonWidth = GUILayout.Width(50); // World Anchors params string UUID = System.Guid.Empty.ToString(); string customName = "(no name for World Links)"; string creatorUUID = System.Guid.Empty.ToString(); // From... private bool showListFrom = true; string fromName = "(none)"; string fromUUID = System.Guid.Empty.ToString(); // To... private bool showListTo = true; string toName = "(none)"; string toUUID = System.Guid.Empty.ToString(); UnitSystem unit = UnitSystem.CM; ObjectType fromType = ObjectType.NotIdentified, toType = ObjectType.NotIdentified; Vector3 localCRS_pos; Loading @@ -63,11 +73,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,46 +128,53 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { if (!customName.Contains("[")) UUID = customName; else if (GUILayout.Button("Read Parameters")) { // extract the UUID UUID = customName.Split('[', ']')[1]; UUID = WorldStorageWindow.GetUUIDFromString(customName); if (UUID == null) UUID = customName; // try this 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) GUI.backgroundColor = ori; unit = (UnitSystem)EditorGUILayout.EnumPopup("Unit System:", unit); EditorGUILayout.Space(); showListFrom = EditorGUILayout.Foldout(showListFrom, "Parent Object (From)"); if (showListFrom) { 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 EditorGUILayout.BeginHorizontal(); fromUUID = EditorGUILayout.TextField("UUID", fromUUID); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Find", EditorStyles.miniButtonLeft, miniButtonWidth)) { localCRS_pos = Vector3.zero; localCRS_rot = Vector3.zero; } keyValueTags = obj.KeyvalueTags; this.Repaint(); // TODO // TODO Request the object from the server fromName = "(not implemented yet)"; fromType = ObjectType.NotIdentified; } EditorGUILayout.EndHorizontal(); GUI.backgroundColor = ori; fromName = EditorGUILayout.TextField("Name", fromName); fromType = (ObjectType)EditorGUILayout.EnumPopup("Type:", fromType); } unit = (UnitSystem)EditorGUILayout.EnumPopup("Unit System:", unit); fromType = (ObjectType)EditorGUILayout.EnumPopup("From Object Type:", fromType); toType = (ObjectType)EditorGUILayout.EnumPopup("To Object Type:", toType); EditorGUILayout.Space(); showListTo = EditorGUILayout.Foldout(showListTo, "Child Object (To)"); if (showListTo) { EditorGUILayout.BeginHorizontal(); toUUID = EditorGUILayout.TextField("UUID", toUUID); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Find", EditorStyles.miniButtonLeft, miniButtonWidth)) { // TODO Request the object from the server toName = "(not implemented yet)"; toType = ObjectType.NotIdentified; } EditorGUILayout.EndHorizontal(); GUI.backgroundColor = ori; toName = EditorGUILayout.TextField("Name", toName); toType = (ObjectType)EditorGUILayout.EnumPopup("Type:", toType); } EditorGUILayout.Space(10); GUILayout.Label("Local CRS:"); Loading Loading @@ -225,6 +247,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 File changed.Preview size limit exceeded, changes collapsed. Show changes
unity-world-storage-package @ 688bf209 Compare c8406f18 to 688bf209 Original line number Diff line number Diff line Subproject commit c8406f18a9f789d4cc0eb2ef995d274797ea4051 Subproject commit 688bf209c3e6d27d10782b2583b0e9c8edea15c7