private void OnGUI() { GUILayout.BeginVertical(); // Show dataset import buttons if (GUILayout.Button("Import RAW dataset")) { RuntimeFileBrowser.ShowOpenFileDialog(OnOpenRAWDatasetResult, "DataFiles"); } if (GUILayout.Button("Import PARCHG dataset")) { RuntimeFileBrowser.ShowOpenFileDialog(OnOpenPARDatasetResult, "DataFiles"); } if (GUILayout.Button("Import DICOM dataset")) { RuntimeFileBrowser.ShowOpenDirectoryDialog(OnOpenDICOMDatasetResult); } // Show button for opening the dataset editor (for changing the visualisation) if (GameObject.FindObjectOfType <VolumeRenderedObject>() != null && GUILayout.Button("Edit imported dataset")) { EditVolumeGUI.ShowWindow(GameObject.FindObjectOfType <VolumeRenderedObject>()); } // Show button for opening the slicing plane editor (for changing the orientation and position) if (GameObject.FindObjectOfType <SlicingPlane>() != null && GUILayout.Button("Edit slicing plane")) { EditSliceGUI.ShowWindow(GameObject.FindObjectOfType <SlicingPlane>()); } GUILayout.EndVertical(); }
private void UpdateWindow(int windowID) { GUI.DragWindow(new Rect(0, 0, 10000, 20)); GUILayout.BeginVertical(); if (targetObject != null) { // Render mode GUILayout.Label("Render mode"); selectedRenderModeIndex = GUILayout.SelectionGrid(selectedRenderModeIndex, new string[] { "Direct volume rendering", "Maximum intensity projection", "Isosurface rendering" }, 2); targetObject.SetRenderMode((RenderMode)selectedRenderModeIndex); // Visibility window GUILayout.Label("Visibility window (min - max visible values)"); GUILayout.BeginHorizontal(); Vector2 visibilityWindow = targetObject.GetVisibilityWindow(); GUILayout.Label("min:"); visibilityWindow.x = GUILayout.HorizontalSlider(visibilityWindow.x, 0.0f, visibilityWindow.y, GUILayout.Width(150.0f)); GUILayout.Label("max:"); visibilityWindow.y = GUILayout.HorizontalSlider(visibilityWindow.y, visibilityWindow.x, 1.0f, GUILayout.Width(150.0f)); targetObject.SetVisibilityWindow(visibilityWindow); GUILayout.EndHorizontal(); // Rotation GUILayout.Label("Rotation"); rotation.x = GUILayout.HorizontalSlider(rotation.x, 0.0f, 360.0f); rotation.y = GUILayout.HorizontalSlider(rotation.y, 0.0f, 360.0f); rotation.z = GUILayout.HorizontalSlider(rotation.z, 0.0f, 360.0f); targetObject.transform.rotation = Quaternion.Euler(rotation); // Load transfer function if (GUILayout.Button("Load transfer function", GUILayout.Width(150.0f))) { RuntimeFileBrowser.ShowOpenFileDialog(OnLoadTransferFunction); } } GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); // Show close button if (GUILayout.Button("Close")) { GameObject.Destroy(this.gameObject); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); }