public static void CloseOryxCamera(IManagedCamera managedCamera, INodeMap nodeMap, int camNumber, CloseCameraMethod closeMethod) { if (!managedCamera.IsInitialized()) { Console.WriteLine("Camera number {0} not initialized. Cannot execute DeviceReset or FactoryReset command", camNumber.ToString()); return; } if (managedCamera.IsStreaming()) { managedCamera.EndAcquisition(); Console.WriteLine("EndAcquisition executed from CloseOryxCamera block on camera {0}", camNumber.ToString()); } if (closeMethod == CloseCameraMethod.DeInit) { managedCamera.DeInit(); Console.WriteLine("Camera number {0} deinitialized.", camNumber.ToString()); } else if (closeMethod == CloseCameraMethod.DeInitAndDeviceReset) { nodeMap.GetNode <ICommand>("DeviceReset").Execute(); Console.WriteLine("DeviceReset command executed on camera number {0}.", camNumber.ToString()); } else if (closeMethod == CloseCameraMethod.DeInitAndFactoryReset) { nodeMap.GetNode <ICommand>("FactoryReset").Execute(); Console.WriteLine("FactoryReset command executed on camera number {0}.", camNumber.ToString()); } }