public void RunningStateTests() { XRDepthSubsystem subsystem = CreateTestDepthSubsystem(); // Initial state is not running Assert.That(subsystem.running == false); // After start subsystem is running subsystem.Start(); Assert.That(subsystem.running == true); // After start subsystem is running subsystem.Stop(); Assert.That(subsystem.running == false); }
void OnSceneGUI(SceneView sceneView) { if (visualizeRemotingData && EditorApplication.isPlaying) { if (m_depth == null) { m_depth = CreateSubsystem <XRDepthSubsystemDescriptor, XRDepthSubsystem>(m_depthDescriptors, m_subsystemFilter); m_depth.Start(); } m_depth.GetPoints(points); if (m_plane == null) { m_plane = CreateSubsystem <XRPlaneSubsystemDescriptor, XRPlaneSubsystem>(m_planeDescriptors, m_subsystemFilter); m_plane.Start(); } foreach (var p in points) { Handles.color = pointOutlineColor; Handles.DrawWireCube(p, Vector3.one * visualizeScale); } points.Clear(); planes.Clear(); m_plane.GetAllPlanes(planes); foreach (var plane in planes) { if (plane.TryGetBoundary(points)) { Handles.color = planeColor; var boundaryArray = points.ToArray(); Handles.DrawAAConvexPolygon(boundaryArray); Handles.color = planeOutlineColor; Handles.DrawPolyLine(boundaryArray); Handles.DrawLine(boundaryArray[boundaryArray.Length - 1], boundaryArray[0]); } } Handles.color = Color.white; if (visualizeCameraPath) { foreach (var cameraPos in m_cameraPositions) { Handles.DrawPolyLine(m_cameraPositions.ToArray()); } } Handles.color = cameraSidePlaneOutlineColor; if (cameraToStream != null) { var camera = cameraToStream; Vector3[] frustumCorners = new Vector3[4]; camera.CalculateFrustumCorners(new Rect(0, 0, 1, 1), camera.farClipPlane, Camera.MonoOrStereoscopicEye.Mono, frustumCorners); for (int i = 0; i < 4; i++) { var worldSpaceCorner = camera.transform.TransformVector(frustumCorners[i]); Handles.DrawLine(cameraToStream.transform.position, worldSpaceCorner); } Handles.color = cameraFarPlaneOutlineColor; Handles.DrawLine(camera.transform.TransformVector(frustumCorners[0]), camera.transform.TransformVector(frustumCorners[1])); Handles.DrawLine(camera.transform.TransformVector(frustumCorners[1]), camera.transform.TransformVector(frustumCorners[2])); Handles.DrawLine(camera.transform.TransformVector(frustumCorners[2]), camera.transform.TransformVector(frustumCorners[3])); Handles.DrawLine(camera.transform.TransformVector(frustumCorners[3]), camera.transform.TransformVector(frustumCorners[0])); Handles.color = cameraSidePlaneColor; Vector3[] topFrustrum = { camera.transform.TransformVector(frustumCorners[1]), camera.transform.TransformVector(frustumCorners[2]), camera.transform.position }; Handles.DrawAAConvexPolygon(topFrustrum); Vector3[] sideFrustrum = { camera.transform.TransformVector(frustumCorners[2]), camera.transform.TransformVector(frustumCorners[3]), camera.transform.position }; Handles.DrawAAConvexPolygon(sideFrustrum); Vector3[] bottomFrustrum = { camera.transform.TransformVector(frustumCorners[3]), camera.transform.TransformVector(frustumCorners[0]), camera.transform.position }; Handles.DrawAAConvexPolygon(bottomFrustrum); Vector3[] leftFrustrum = { camera.transform.TransformVector(frustumCorners[0]), camera.transform.TransformVector(frustumCorners[1]), camera.transform.position }; Handles.DrawAAConvexPolygon(leftFrustrum); Handles.color = cameraFarPlaneColor; Vector3[] cameraFrustrum = { camera.transform.TransformVector(frustumCorners[0]), camera.transform.TransformVector(frustumCorners[1]), camera.transform.TransformVector(frustumCorners[2]), camera.transform.TransformVector(frustumCorners[3]) }; Handles.DrawAAConvexPolygon(cameraFrustrum); } Handles.BeginGUI(); Handles.EndGUI(); } }