public void Stop(PtGreyCamera camera) { if (camera != null) { camera.Disconnect(); } }
public bool Connect() { bool result = false; try { system = new ManagedSystem(); IList <IManagedCamera> camList = system.GetCameras(); if (camList.Count != 2) { int count = camList.Count; foreach (IManagedCamera mc in camList) { mc.Dispose(); } // Clear camera list before releasing system camList.Clear(); // Release system system.Dispose(); throw new Exception("2 cameras needed but found " + camList.Count); } for (int i = 0; i < camList.Count; i++) { var cam = camList[i]; // Initialize camera cam.Init(); // Retrieve GenICam nodemap var nodemap = cam.GetNodeMap(); uint SerialNumber = Convert.ToUInt32(cam.DeviceSerialNumber); if (SerialNumber == App.Settings.SideCameraSerialNum) { cameraSide = new PtGreyCamera(cam, CameraType.Side); } else { cameraTop = new PtGreyCamera(cam, CameraType.Top); } } if (cameraSide != null && cameraTop != null) { cameras.Add(cameraTop); cameras.Add(cameraSide); result = true; } else { result = false; } } catch (Exception ex) { result = false; if (cameraTop != null) { cameraTop.Disconnect(); } if (cameraSide != null) { cameraSide.Disconnect(); } } return(result); }