public Zed(InitParameters parameters = null, string svoPath = null) { camera = ZEDCamera.GetInstance(); mats = new List <ZEDMat>(); if (parameters == null) { parameters = new InitParameters(); parameters.resolution = RESOLUTION.HD720; parameters.depthMode = DEPTH_MODE.QUALITY; parameters.depthStabilization = true; parameters.enableRightSideMeasure = true; // isStereoRig; parameters.coordinateUnit = UNIT.MILLIMETER; parameters.depthMinimumDistance = 200f; //parameters.depthMinimumDistance = 0.2f; } if (svoPath != null) { parameters.pathSVO = svoPath; } this.initParameters = parameters; // runtime parameters runtimeParameters = new RuntimeParameters() { sensingMode = SENSING_MODE.FILL, enableDepth = true }; // create the camera camera.CreateCamera(true); }
private void Start() { manager = FindObjectOfType(typeof(ZEDManager)) as ZEDManager; spatialMapping = new ZEDSpatialMapping(transform, ZEDCamera.GetInstance(), manager); }
public override void OnInspectorGUI() { var cameraIsReady = ZEDCamera.GetInstance().IsCameraReady; displayText = ZEDSpatialMapping.display ? "Hide Mesh" : "Display Mesh"; serializedObject.Update(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Mesh Parameters", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); var newResolution = (ZEDSpatialMapping.RESOLUTION)EditorGUILayout.EnumPopup("Resolution", spatialMapping.resolution_preset); if (newResolution != spatialMapping.resolution_preset) { resolution.enumValueIndex = (int)newResolution; serializedObject.ApplyModifiedProperties(); } var newRange = (ZEDSpatialMapping.RANGE)EditorGUILayout.EnumPopup("Range", spatialMapping.range_preset); if (newRange != spatialMapping.range_preset) { range.enumValueIndex = (int)newRange; serializedObject.ApplyModifiedProperties(); } EditorGUILayout.BeginHorizontal(); filterParameters.enumValueIndex = (int)(FILTER)EditorGUILayout.EnumPopup("Mesh Filtering", (FILTER)filterParameters.enumValueIndex); isFilteringEnable.boolValue = true; EditorGUILayout.EndHorizontal(); GUI.enabled = !spatialMapping.IsRunning; isTextured.boolValue = EditorGUILayout.Toggle("Texturing", isTextured.boolValue); GUI.enabled = cameraIsReady; EditorGUILayout.BeginHorizontal(); if (!spatialMapping.IsRunning) { if (GUILayout.Button("Start Spatial Mapping")) { if (!ZEDSpatialMapping.display) { spatialMapping.SwitchDisplayMeshState(true); } spatialMapping.StartSpatialMapping(); } } else { if (spatialMapping.IsRunning && !spatialMapping.IsUpdateThreadRunning || spatialMapping.IsRunning && spatialMapping.IsTexturingRunning) { GUILayout.FlexibleSpace(); GUILayout.Label("Spatial mapping is finishing"); Repaint(); GUILayout.FlexibleSpace(); } else { if (GUILayout.Button("Stop Spatial Mapping")) { spatialMapping.StopSpatialMapping(); } } } EditorGUILayout.EndHorizontal(); GUI.enabled = cameraIsReady; if (GUILayout.Button(displayText)) { spatialMapping.SwitchDisplayMeshState(!ZEDSpatialMapping.display); } GUI.enabled = true; GUILayout.Label("Mesh Storage", EditorStyles.boldLabel); saveWhenOver.boolValue = EditorGUILayout.Toggle("Save Mesh (when stop)", saveWhenOver.boolValue); EditorGUILayout.BeginHorizontal(); meshPath.stringValue = EditorGUILayout.TextField("Mesh Path", meshPath.stringValue); if (GUILayout.Button("...", optionsButtonBrowse)) { meshPath.stringValue = EditorUtility.OpenFilePanel("Mesh file", "", "ply,obj,bin"); serializedObject.ApplyModifiedProperties(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); //GUI.enabled = cameraIsReady; GUILayout.FlexibleSpace(); GUI.enabled = File.Exists(meshPath.stringValue) && cameraIsReady; if (GUILayout.Button("Load")) { spatialMapping.LoadMesh(meshPath.stringValue); } EditorGUILayout.EndHorizontal(); serializedObject.ApplyModifiedProperties(); if (!cameraIsReady) { Repaint(); } }