///// <summary> ///// 打开标定控件 ///// </summary> //public void OpenCalibrationView() //{ // try // { // if ((Scene?.VisionFrame.IsEnableCamera == true) && (string.IsNullOrEmpty(SelectedCamera?.Info?.SerialNumber))) // { // throw new DriveNotFoundException("没有选定相机"); // } // //var view = new CalibrationView(); // //var viewModel = (view.DataContext as CalibrationViewModel); // //viewModel.CalibrationConfigurationCompleted -= ViewModel_CalibrationConfigurationCompleted; // //viewModel.CalibrationConfigurationCompleted += ViewModel_CalibrationConfigurationCompleted; // } // catch (Exception ex) // { // OnMessageRaised(MessageLevel.Err, ex.Message, ex); // } //} //private void ViewModel_CalibrationConfigurationCompleted(object sender, CalibrationConfigurationCompletedEventArgs e) //{ //} /// <summary> /// 更新标定文件 /// </summary> public void UpdateCalibrationFile() { //获取相机标定文件 FileInfo[] calibrationFileInfos = CameraFactory.GetCameraCalibrationFiles(SelectedCamera?.Info.SerialNumber); CameraCalibrationFiles = new ObservableCollection <string>(calibrationFileInfos.ToList().ConvertAll(x => x.Name)); CameraCalibrationFiles.Add("不需标定"); }
public I3DCamera CreateCameraAt(String pCameraName, Vector3 pCameraPosition) { X3DCamera camera = CameraFactory.Create3DCamera(pCameraName); this.Place(camera, pCameraPosition); return(camera); }
public PlayerController(Data data, InputModel inputModel, PlayerModel playerModel, PauseModel pauseModel) { _controllerList = new ControllerList(); var cameraFactory = new CameraFactory(data.CameraData); var laserFactory = new LaserFactory(); var cameraModel = new CameraModel(cameraFactory); var moveController = new MoveController(inputModel.GetInputKeyboard(), data.PlayerData, playerModel.Transform); var shootController = new ShootController(data.BulletData, playerModel, laserFactory); var cameraController = new CameraController(cameraModel, playerModel, data.CameraData, pauseModel); var explosion = new Explosion(data.ExplosionData, playerModel); var abilityController = new AbilityController(inputModel, explosion); _controllerList.Add(moveController).Add(shootController). Add(cameraController).Add(abilityController).Initialize(); }
private static void Main(string[] args) { try { CameraFactory.Initialize(); foreach (var device in CameraFactory.DeviceList) { Console.WriteLine("Found device: {0}", device.Description); } SpotVersionDetails versionInfo; SpotCamService.SpotGetVersionInfo2(out versionInfo); Console.WriteLine("Connected to driver:\n{0} {1}.{2}.{3} - {4}", versionInfo.ProductName, versionInfo.VerMajor, versionInfo.VerMinor, versionInfo.VerUpdate, versionInfo.BuildDetails); Console.WriteLine(versionInfo.Copyright); } catch (Exception ex) { Console.WriteLine("Fatal Error: {0}", ex); } var camera = CameraFactory.DeviceList.Last().Create(); Console.WriteLine("Camera Details:"); Console.WriteLine("Model:{0}, SN:{1}, Firmware Rev: {2}, Hardware Rev: {3}", camera.Model, camera.SerialNumber, camera.FirmwareVersion, camera.HardwareVersion); Console.WriteLine("Capturing test TIFF image"); CaptureAndSaveTestImage("SampleImage.tif"); Console.WriteLine("SpotShutDown returned: {0}", SpotCamService.SpotShutDown()); }
private void Window_Loaded(object sender, RoutedEventArgs e) { if (AIThermometerAPP.Instance().AutoStartCam()) { if (CameraFactory.Instance().cl.Count > 0) { foreach (var ci in CameraFactory.Instance().cl) { this.vlcWindow.SetCamStream(ci); } } } //mc) this.vlcWindow.ChangeLeft(); // 设置全屏 this.WindowState = System.Windows.WindowState.Normal; this.WindowStyle = System.Windows.WindowStyle.None; this.ResizeMode = System.Windows.ResizeMode.NoResize; // this.Topmost = true; this.Left = 0.0; this.Top = 0.0; this.Width = System.Windows.SystemParameters.PrimaryScreenWidth; this.Height = System.Windows.SystemParameters.PrimaryScreenHeight; }
/// <summary> /// 加载配置文件 /// </summary> /// <param name="file">文件路径</param> public void LoadFromFile(string file) { try { if (string.IsNullOrEmpty(file)) { throw new ArgumentException("无效路径/文件不存在"); } CameraConfigParam cameraConfigParam = JsonSerialization.DeserializeObjectFromFile <CameraConfigParam>(file); if (Camera?.IsOpen == true) { CameraFactory.ConfigurateCamera(Camera.Info.SerialNumber, cameraConfigParam); } } catch (Exception ex) { OnMessageRaised(MessageLevel.Err, ex.Message, ex); } finally { if (CameraConfigViewModel?.Camera?.IsOpen == true) { Camera.Grab(); //刷新控件显示 Camera = Camera; } } }
// 以下为主页面代码 /// <summary> /// VCL相机初始化 /// </summary> private void VclCamInit() { LogHelper.WriteLog("vcl cam init start"); foreach (var c in AIThermometerAPP.Instance().cameras_config.Cameras) { // 如果不是自动启动,所有相机的状态设为离线 if (!AIThermometerAPP.Instance().AutoStartCam()) { c.state = CamContectingState.OFFLINE; } if (c.state == CamContectingState.ONLINE && AIThermometerAPP.Instance().AutoStartCam()) { // 如果摄像头Online 开始画面 if (CameraFactory.Instance().CreateCameraStream(c.Name, c.IP, c.StreamType) == null) { c.state = CamContectingState.OFFLINE; } // TODO 画面左侧的摄像头列表改变状态 在线 不在线 错误 需要完善 // TODO 状态从c。state获取, 名称也在c.name里。 } CameraController cameraController = new CameraController(c); cameraController.SetConnectHandler(this.ConnectHandler, this.DisconnectHandler); listView.Items.Add(cameraController); ViewButtonStateChanged(c.state); } LogHelper.WriteLog("vcl cam init end : " + CameraFactory.Instance().cl.Count + " cameras ready!"); }
static void Main(string[] args) { List <DiscoveredCamera> result = null; using (var discoveryRequest = new DiscoveryRequest()) { discoveryRequest.CameraDiscovered += (s, e) => System.Console.WriteLine("Camera '{0}' found!", e.DiscoveredCamera); discoveryRequest.FindCameras(TimeSpan.FromSeconds(2)); result = discoveryRequest.Wait(); System.Console.WriteLine("{0} cameras found!", result.Count); } var camera = CameraFactory.ConnectToCamera(result[0], "admin", "admin"); var ip = camera.DeviceService.GetIP(); var dns = camera.DeviceService.GetDNS(); var name = camera.DeviceService.GetHostname(); var profiles = camera.MediaService.GetProfiles(); var videoUrl = camera.MediaService.GetVideoURL(); var snapshotUrl = camera.MediaService.GetSnapshotURL(); System.Console.ReadLine(); }
private void SetCamera(TgcD3dInput input) { this.Camera = CameraFactory.Create(this.initialCameraPosition, input); this.baseCameraSpeed = this.Camera.MovementSpeed; AquaticPhysics.Instance.Add(this.Camera.RigidBody); }
public void CreateNotConnectedCameraTest() { var ipAddress = IPAddress.Parse("192.168.0.1"); var cameraFactory = new CameraFactory(); var camera = cameraFactory.CreateCamera(ipAddress); Assert.AreEqual(ipAddress, camera.IPAddress); Assert.AreEqual(camera.State, CameraStateEnum.NotConnected); }
/// <summary> /// 更新相机配置文件 /// </summary> public void UpdateCameraConfigFiles() { if (Camera?.IsOpen == true) { //获取相机配置文件 FileInfo[] configFileInfos = CameraFactory.GetCameraConfigFiles(Camera?.Info.SerialNumber); CameraConfigFiles = new ObservableCollection <string>(configFileInfos.ToList().ConvertAll(x => x.Name)); } }
/// <summary> /// 更新相机 /// </summary> public void UpdateCameras() { Cameras.Clear(); if ((CameraFactory.Cameras?.Values != null) && (Scene?.VisionFrame?.IsEnableCamera == true)) { CameraFactory.AddAllCamera(); Cameras = new ObservableCollection <ICamera>(CameraFactory.Cameras.Values); } }
/// <summary/> public static Camera MakeCamera(Variation v) { Camera camera = null; if (v["Camera"] != null) { v.AssertAbsenceOf("CameraType", "CameraPosition", "CameraLookDirection", "CameraUp", "CameraNearPlaneDistance", "CameraFarPlaneDistance", "CameraWidth", "CameraFieldOfView", "CameraViewMatrix", "CameraProjectionMatrix"); camera = CameraFactory.MakeCamera(v["Camera"]); } else { v.AssertExistenceOf("CameraType"); switch (v["CameraType"]) { case "Orthographic": v.AssertExistenceOf("CameraPosition", "CameraLookDirection", "CameraUp", "CameraNearPlaneDistance", "CameraFarPlaneDistance", "CameraWidth"); camera = new OrthographicCamera(); SetProjectionCameraParameters(camera, v); ((OrthographicCamera)camera).Width = StringConverter.ToDouble(v["CameraWidth"]); break; case "Perspective": v.AssertExistenceOf("CameraPosition", "CameraLookDirection", "CameraUp", "CameraNearPlaneDistance", "CameraFarPlaneDistance", "CameraFieldOfView"); camera = new PerspectiveCamera(); SetProjectionCameraParameters(camera, v); ((PerspectiveCamera)camera).FieldOfView = StringConverter.ToDouble(v["CameraFieldOfView"]); break; case "Matrix": v.AssertExistenceOf("CameraViewMatrix", "CameraProjectionMatrix"); camera = new MatrixCamera(); ((MatrixCamera)camera).ViewMatrix = StringConverter.ToMatrix3D(v["CameraViewMatrix"]); ((MatrixCamera)camera).ProjectionMatrix = StringConverter.ToMatrix3D(v["CameraProjectionMatrix"]); break; case "MatrixOrtho": v.AssertExistenceOf("CameraPosition", "CameraLookDirection", "CameraUp", "CameraNearPlaneDistance", "CameraFarPlaneDistance", "CameraWidth", "CameraHeight"); camera = new MatrixCamera(); ((MatrixCamera)camera).ViewMatrix = MakeViewMatrix(v); ((MatrixCamera)camera).ProjectionMatrix = MakeOrthoMatrix(v); break; case "MatrixPersp": v.AssertExistenceOf("CameraPosition", "CameraLookDirection", "CameraUp", "CameraNearPlaneDistance", "CameraFarPlaneDistance", "CameraFieldOfViewX", "CameraFieldOfViewY"); camera = new MatrixCamera(); ((MatrixCamera)camera).ViewMatrix = MakeViewMatrix(v); ((MatrixCamera)camera).ProjectionMatrix = MakePerspMatrix(v); break; default: throw new ApplicationException("Invalid camera type: " + v["CameraType"]); } } return(camera); }
public void DisconnectHandler(string ip) { this.vlcWindow.DelCamStream(); CameraFactory.Instance().DelCamStream(ip); foreach (var c in AIThermometerAPP.Instance().cameras_config.Cameras) { c.state = CamContectingState.OFFLINE; ViewButtonStateChanged(c.state); } }
/// <summary> /// Registers each concrete camera builder. /// </summary> /// <returns></returns> public static CameraFactory RegisterAllCameraClasses() { CameraFactory factory = new CameraFactory(); factory.RegisterBuilder("Vstarcam_C7823WIP", new Vstarcam_C7823WIPCameraBuilder()); //factory.register_builder("easyN_A110", easyN_A110CameraBuilder()); //factory.register_builder("HIKVISION_camera", HIKVISION_cameraCameraBuilder()); return(factory); }
public override void Initialize() { camera = CameraFactory.GetCamera(0); camera.SetPosition(0, 15, -25); camera.SetLookAt(0, 0, 0); // Register object in Lua. ScriptManager.SetGlobal("Camera", this); ScriptManager.RegisterCustomFunctions(this); }
public void Camera_OK() { //Act ICamera camera = CameraFactory.Create(new Vector3(1, 1, 1), new Vector3(0, 1, 0), new Vector3(0, 0, 1)); //Assert Assert.AreEqual(new Vector3(1, 1, 1), camera.CameraPosition, "Camera Position"); Assert.AreEqual(new Vector3(0, 1, 0), camera.CameraLookAt, "camera LookAt"); Assert.AreEqual(new Vector3(0, 0, 1), camera.UpVector, "Up Vector"); }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { CameraFactory.RemoveAllCameras(); try { SrVision.SRV_Dispose(); } catch (Exception ex) { Logging.Error(ex); } }
public RenderSettingsForm(CameraFactory initCF, FileRenderSettings initRenderSettings) { // // Required for Windows Form Designer support // InitializeComponent(); renderSettings = initRenderSettings; cf = initCF; LoadRenderSettings(); }
public CameraController(CameraFactory factory, int frameRate = 50, int cameraWidth = 640, int cameraHeight = 480) { FrameRate = frameRate; CameraWidth = cameraWidth; CameraHeight = cameraHeight; Cameras = new List<AbstractCamera>(); DsDevice[] devs = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice); for (int i = 0; i < devs.Length; i++) { AbstractCamera camera = factory(this, i, cameraWidth, cameraHeight, frameRate, devs[i]); Cameras.Add(camera); } }
private void buttonShowVideo_Click(object sender, RoutedEventArgs e) { try { if (usingRemotePath || !File.Exists(mCaseInfo.Image1)) { mCaseInfo.Image1 = mCaseInfo.RemoteImage1; } else { usingRemotePath = false; } string filePath = mCaseInfo.Image1; //string filePath = @"C:\ENC\LuAnn\Not Showing in Session\Img0178s.enc"; var camera = CameraFactory.Find(); if (camera == null) { return; } Configuration configuration = new Configuration(); string videoPath; videoPath = camera.ExtractInfringementVideo(filePath, configuration.GetDLLPath()); if (videoPath != string.Empty) { VideoViewer videoViewer = new VideoViewer(); videoViewer.LoadVideo(videoPath); videoViewer.ShowDialog(); File.Delete(videoPath); } else { MessageBox.Show("No Video File found."); } } catch (GatewayException gex) { System.Diagnostics.Trace.WriteLine(string.Format("Failed to load window from{0} - {1}", "OtherWindow", gex.Message)); throw new Exception(String.Format("Failed to load window from{0} - {1}", "OtherWindow", gex.Message), gex); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("Failed to load window from{0} - {1}", "OtherWindow", ex.Message)); throw new Exception(String.Format("Failed to load window from{0} - {1}", "OtherWindow", ex.Message), ex); } }
public void CreateNotConnectedCameraExceptionTest() { var ipAddress = IPAddress.Parse("192.168.0.1"); var cameraFactory = new CameraFactory(); try { var camera = cameraFactory.CreateCamera("admin", "admin", ipAddress); Assert.Fail(); } catch (Exception e) { Assert.AreEqual(typeof(CameraConnectionException), e.GetType()); } }
private Camera MakeCheckedCamera() { if (string.IsNullOrEmpty(CameraName)) { Messenger.Default.Send(new ViewModelMessageBoxMessage( this, LanguageString.Find("DeviceConfiguration_CameraCreationView_CameraNameNull"), ViewModelMessageBoxType.Error)); return(null); } Camera camera = CameraFactory.CreateCamera(); camera.Name = CameraName; return(camera); }
internal void InjectDependencies(FearResourceManager resMan, Input fearInput, GameObjectFactory gameObjFactory, UpdateableFactory updateableFac, SceneFactory sceneFac, LightFactory lightFac, CameraFactory cameraFac) { resourceManager = resMan; input = fearInput; gameObjectFactory = gameObjFactory; updateableFactory = updateableFac; sceneFactory = sceneFac; lightFactory = lightFac; cameraFactory = cameraFac; }
public void ConnectHandler(string ip) { foreach (var c in AIThermometerAPP.Instance().cameras_config.Cameras) { if (c.IP == ip) { var mc = CameraFactory.Instance().CreateCameraStream(c.Name, c.IP, c.StreamType); if (mc != null) { c.state = CamContectingState.ONLINE; this.vlcWindow.SetCamStream(mc); LogHelper.WriteLog("Connect handler cl count :" + CameraFactory.Instance().cl.Count); } } ViewButtonStateChanged(c.state); } this.vlcWindow.ChangeLeft(); }
/* Method that converts a Camera Service to a Camera Factory */ public void CameraServiceToCameraFactory(WorldObject wObji, WorldObject wObjf) { if (wObji.ContainService(typeof(CameraService))) { CameraService cam = (CameraService)wObji.GetService(typeof(CameraService)); CameraFactory camFact = new CameraFactory(); camFact.aspectRatio = cam.aspectRatio; camFact.bottom = cam.bottom; camFact.farPlane = cam.farPlane; camFact.fieldOfView = cam.fieldOfView; camFact.IsPerspective = cam.IsPerspective; camFact.left = cam.left; camFact.nearPlane = cam.nearPlane; camFact.right = cam.right; camFact.top = cam.top; /* Save the factory in the object builder list */ wObjf.objectBuilder.Add(camFact); } }
public Shaders() { Content.RootDirectory = "Content"; // Komponenten erstellen camera = CameraFactory.CreateCamera(this, CameraType.FreeLookCamera); shape = new Shape(this); room = new Shape(this); lightService = new LightService(this); crosshair = new Crosshair(this) { Visible = false }; effectService = new EffectService(); collisionDetection = new CollisionDetection(this); // Komponenten zur Engine hinzufügen Components.Add(new CameraHandler(this) { Camera = camera }); Components.Add(camera); Components.Add(lightService); Components.Add(shape); Components.Add(room); Components.Add(crosshair); Components.Add(collisionDetection); // Services hinzufügen Services.AddService(typeof(ICameraService), camera); Services.AddService(typeof(ILightService), lightService); Services.AddService(typeof(IEffectService), effectService); // Grafik-Einstellungen graphics = new GraphicsDeviceManager(this); graphics.SynchronizeWithVerticalRetrace = true; graphics.PreferMultiSampling = true; graphics.IsFullScreen = true; graphics.PreferredBackBufferWidth = 1366; graphics.PreferredBackBufferHeight = 768; IsFixedTimeStep = true; }
private void ConfigFrameButton_Click(object sender, RoutedEventArgs e) { //移除所有的场景和相机 CameraFactory.RemoveAllCameras(); SceneManager.ResetScenes(); //切换环境 CameraFactory.DefaultCameraSdkType = (ECameraSdkType)CameraSDKComboBox.SelectedItem; VisionFrameFactory.DefaultVisionFrameType = (EVisionFrameType)VisionFrameComboBox.SelectedItem; CameraFactory.AddAllCamera(); SceneManager.RecoverScenes(); //更新场景 ScenesListView.Items.Clear(); foreach (var item in SceneManager.Scenes.Values) { ScenesListView.Items.Add(item); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { foreach (var a in CameraFactory.Instance().cl) { foreach (var b in a) { b.Value.Stop(); //(b.Value as VlcCamera).vlcPlayer.Dispose(); } } CameraFactory.Instance().cl.Clear(); this.vlcWindow.Shutdown(); ServerHelper.Instance().Dispose(); //TempWarning.Instance().addedWarningInfo = null; //;aTimer.Close(); LogHelper.WriteLog("Closing APP"); Environment.Exit(0); //base.OnClosing(); }
/// <summary> /// 更新相机标定文件 /// </summary> public void UpdateCameraCalibrationFiles() { try { if (IsSceneValid && Scene.VisionFrame.IsEnableCamera) { FileInfo[] files = CameraFactory.GetCameraCalibrationFiles(Scene.Camera.Info.SerialNumber); CalibrationConfigFiles = new ObservableCollection <string>(files.ToList().ConvertAll(x => x.Name)); if ((CalibrationConfigFiles.Count > 0) && (string.IsNullOrEmpty(CalibrationConfigFile))) { CalibrationConfigFile = CalibrationConfigFiles[0]; } } } catch (Exception ex) { OnMessageRaised(MessageLevel.Err, ex.Message, ex); } }
public ICamera BuildMenu(int choice) { CameraFactory factory = new CameraFactory(); bool done = false; ICamera camera = null; while (!done) { switch (choice) { case 1: Console.Write(SubMenu()); choice = int.Parse(Console.ReadLine()); camera = factory.CreateCamera(choice); done = true; break; case 2: GetCameraList(); done = true; break; case 3: RemoveCamera(); done = true; break; case 9: Console.WriteLine("Exiting..."); Environment.Exit(0); break; default: Console.Write("Please pick a valid number: "); choice = int.Parse(Console.ReadLine()); break; } } return(camera); }