void ActivateCamera(CameraIndex cameraIndex) { switch (cameraIndex) { case CameraIndex.Right: m_frontCam.GetComponent <Camera>().enabled = false; m_rightCam.GetComponent <Camera>().enabled = true; m_backCam.GetComponent <Camera>().enabled = false; m_leftCam.GetComponent <Camera>().enabled = false; break; case CameraIndex.Back: m_frontCam.GetComponent <Camera>().enabled = false; m_rightCam.GetComponent <Camera>().enabled = false; m_backCam.GetComponent <Camera>().enabled = true; m_leftCam.GetComponent <Camera>().enabled = false; break; case CameraIndex.Left: m_frontCam.GetComponent <Camera>().enabled = false; m_rightCam.GetComponent <Camera>().enabled = false; m_backCam.GetComponent <Camera>().enabled = false; m_leftCam.GetComponent <Camera>().enabled = true; break; } }
public Laptop(Level owner) { Level = owner; RebootProgress = 1.0f; cameraOffsets = new Dictionary <CameraIndex, CameraOffsetState>(); for (CameraIndex ci = CameraIndex.Cam1; ci < (CameraIndex)8; ci++) { // IsEnabled is meaningless here. Instead I will use _updateRoomInputs to handle all at once. CameraIndex clone = ci; // Otherwise ci is passed by reference into lambda roomInputs.Add(ci, new InputRegion(MAP_OFFSET + MAP_CAMERA_OFFSETS[ci], ROOM_INPUT_SIZE, true, (i) => { if (ActiveCamera == clone || Level.LaptopBattery <= 0.0f || IsRebooting) { return; } ActiveCamera = clone; _staticScreensLeft = UIScreen.STATIC_SCREEN_LENGTH; _currentStaticScreen = Level.Rand.Next(0, UIScreen.STATIC_SCREEN_COUNT); _isStaticIntermittent = false; _timeUntilRoomIconSwitches = ROOM_ICON_TIME; _roomIconBright = true; soundCameraChange.Stop(); soundCameraChange.Play(); })); cameraOffsets.Add(clone, new CameraOffsetState(Level.Rand)); } }
public override void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { if (cam == CameraIndex.Cam3 && Pos == Position.Perch) { string sprite = IsActive ? "Glaring" : "Sleeping"; perchSprites[sprite].Draw(sb, PERCH_OFFSET + offset); } if (_ventAnimPlaying) { if ((Pos == Position.VentMidW && cam == CameraIndex.Cam4) || (Pos == Position.VentMidE && cam == CameraIndex.Cam5)) { Vector2 v = VENT_OFFSETS[_ventCurrentFrame]; if (_ventCurrentFrame < 4) { if (Pos == Position.VentMidW) { v -= VENT_EARLY_EXTRA_OFFSET * (4 - _ventCurrentFrame); } else if (Pos == Position.VentMidE) { v += VENT_EARLY_EXTRA_OFFSET * (4 - _ventCurrentFrame); } } ventSprites[_ventCurrentFrame].Draw(sb, v); } } }
public static CameraIndex getInstance() { if (_me == null) { _me = new CameraIndex(0); } return(_me); }
public static void TakeSnapshot(CameraIndex eCam) { foreach (Camera cam in m_lstCameras.Where(x => eCam == CameraIndex.All ? true : x.ID == eCam)) { cam.TakeSnapshot(); cam.AccionTerminada.WaitOne(); } }
public static void StartGrab(CameraIndex eCam, string strPath) { foreach (Camera cam in m_lstCameras.Where(x => eCam == CameraIndex.All ? true : x.ID == eCam)) { cam.StartGrab(strPath); cam.AccionTerminada.WaitOne(); } }
public static void SetVideo(CameraIndex eCam) { foreach (Camera cam in m_lstCameras.Where(x => eCam == CameraIndex.All ? true : x.ID == eCam)) { cam.SetVideo(); cam.AccionTerminada.WaitOne(); } }
public AlliedVisionCamera(CameraIndex DeviceID) : base(DeviceID) { VimbaHelper vimbaHelper = new VimbaHelper(); vimbaHelper.Startup(null); m_vimbaHelper = vimbaHelper; var id = DeviceID == CameraIndex.Cam1 ? Properties.Settings.Default.AlliedID1 : Properties.Settings.Default.AlliedID2; m_cameraInfo = m_vimbaHelper.CameraList.First(x => x.ID == id); m_vimbaHelper.OpenCamera(m_cameraInfo.ID); Ready = true; }
public override void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { CameraIndex?visible = GetCameraVisible(); if (visible == null) { return; // in case of office entry } if (visible.Value == cam) { roomSprites[Pos.ToString()].Draw(sb, offset + ROOM_OFFSETS[Pos]); } }
public override void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { if (cam == CameraIndex.Cam2 && !IsExposing) { if (IsActive) { roomSprites["Active"].Draw(sb, ACTIVE_OFFSET + offset); } else { roomSprites["Waiting"].Draw(sb, WAITING_OFFSET + offset); } } }
public void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { Owl.DrawOnCamera(sb, offset, cam); if (cam != CameraIndex.Cam6) { Eyesaur.DrawOnCamera(sb, offset, cam); } Clown.DrawOnCamera(sb, offset, cam); Flumpty.DrawOnCamera(sb, offset, cam); BBB.DrawOnCamera(sb, offset, cam); if (cam == CameraIndex.Cam6) { Eyesaur.DrawOnCamera(sb, offset, cam); } }
void Start() { obiekt = GameObject.Find("Obiekt"); myObiektPosition = ObiektPosition.getInstance(obiekt.transform.position); GameObject.Find("Obiekt").transform.position = myObiektPosition.pos; currentMax = Camera.allCamerasCount; cameras = new Camera[currentMax]; Camera.GetAllCameras(cameras); myCameraIndex = CameraIndex.getInstance(); currentIndex = myCameraIndex.index; for (int i = 0; i < currentMax; i++) { cameras[i].gameObject.SetActive(false); } cameras[myCameraIndex.index].gameObject.SetActive(true); }
public static Camera CameraFactory(CameraIndex DeviceID) { var cameraType = DeviceID == CameraIndex.Cam1 ? Properties.Settings.Default.Camera1 : Properties.Settings.Default.Camera2; Enum.TryParse(cameraType, out CameraType type); switch (type) { case CameraType.AlliedVision: return(new AlliedVision.AlliedVisionCamera(DeviceID)); case CameraType.IDS: return(new IDS.IDSCamera(DeviceID)); default: return(null); } }
public override void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { CameraIndex?visible = GetCameraVisible(); if (visible == null) { return; // in case of office entry } if (visible.Value == cam) { roomSprites[Pos.ToString()].Draw(sb, offset + ROOM_OFFSETS[Pos]); } if (cam == CameraIndex.Cam1 && Pos != Position.Cam1_Waiting && Pos != Position.Cam1_Emerging) { roomSprites["Cam1_Missing"].Draw(sb, offset + ROOM_OFFSETS[Position.Cam1_Waiting]); } }
public IDSCamera(CameraIndex DevideID) : base(DevideID) { Ready = false; //Si no he obtenido la lista de camaras, la obtengo if (m_cameraList == null || m_cameraList.Length == 0) { uEye.Info.Camera.GetCameraList(out m_cameraList); } if (m_cameraList.Length == 0) { MessageBox.Show("No se han encontrado camaras..."); } m_Camera = new uEye.Camera(); m_DeviceID = (int)m_cameraList.Where(x => x.CameraID == (int)DevideID).FirstOrDefault().DeviceID; EnqueueAction(Acciones.Init); m_threadCiclo = new Thread(Cycle); m_threadCiclo.IsBackground = true; m_threadCiclo.Name = $"Camera {DevideID} thread"; m_threadCiclo.Start(); }
public virtual void DrawOnCamera(SpriteBatch sb, Vector2 offset, CameraIndex cam) { }
public Vector2 GetClickPos(CameraIndex cam) { return(Laptop.MAP_OFFSET + Laptop.MAP_CAMERA_OFFSETS[cam] + CAMERA_BUTTON_TARGET); }
public Matrix<double> GetCalibrationMatrix(CameraIndex idx) { return idx == CameraIndex.Left ? CalibrationLeft : CalibrationRight; }
public Camera(CameraIndex DevideID) { ID = DevideID; AccionTerminada = new AutoResetEvent(false); }
void UpdateCameraMatrix(Matrix<double> camera, CameraIndex index) { var RQ = camera.SubMatrix(0, 3, 0, 3).QR(); var calib = RQ.R; if(Math.Abs(calib[2, 2] - 1) > 1e-6) { double scale = calib[2, 2]; camera.MultiplyThis(scale); // NotifyPropertyChanged("CameraLeft"); RQ = camera.SubMatrix(0, 3, 0, 3).QR(); } calib = RQ.R; var rot = RQ.Q; // If fx < 0 then set fx = -fx and [r11,r12,r13] = -[r11,r12,r13] // As first row of rotation matrix is multiplied only with fx, then changing sign of both // fx and this row won't change matrix M = K*R, and so camera matrix (same with fy, but we need to change skew also) if(calib[0, 0] < 0) { calib[0, 0] = -calib[0, 0]; rot[0, 0] = -rot[0, 0]; rot[0, 1] = -rot[0, 1]; rot[0, 2] = -rot[0, 2]; } if(calib[1, 1] < 0) { calib[1, 1] = -calib[1, 1]; calib[0, 1] = -calib[0, 1]; rot[1, 0] = -rot[1, 0]; rot[1, 1] = -rot[1, 1]; rot[1, 2] = -rot[1, 2]; } var trans = -camera.SubMatrix(0, 3, 0, 3).Inverse().Multiply(camera.Column(3)); SetCalibrationMatrix(index, calib); SetRotationMatrix(index, rot); SetTranslationVector(index, trans); ComputeEssentialFundamental(); }
public Matrix<double> GetCameraMatrix(CameraIndex idx) { return idx == CameraIndex.Left ? CameraLeft : CameraRight; }
public void SetRotationMatrix(CameraIndex idx, Matrix<double> matrix) { if(idx == CameraIndex.Left) RotationLeft = matrix; else RotationRight = matrix; }
public static Camera GetCamera(CameraIndex eCam) { return(m_lstCameras.Where(x => x.ID == eCam).FirstOrDefault()); }
public void SetCameraMatrix(CameraIndex idx, Matrix<double> matrix) { if(idx == CameraIndex.Left) CameraLeft = matrix; else CameraRight = matrix; }
public void SetDistortionModel(CameraIndex idx, RadialDistortionModel model) { if(idx == CameraIndex.Left) DistortionModelLeft = model; else DistortionModelRight = model; }
public void SetCalibrationMatrix(CameraIndex idx, Matrix<double> matrix) { if(idx == CameraIndex.Left) CalibrationLeft = matrix; else CalibrationRight = matrix; }
public Vector<double> GetTranslationVector(CameraIndex idx) { return idx == CameraIndex.Left ? TranslationLeft : TranslationRight; }
public Matrix<double> GetRotationMatrix(CameraIndex idx) { return idx == CameraIndex.Left ? RotationLeft : RotationRight; }
void ActivateCamera(CameraIndex cameraIndex) { switch(cameraIndex) { case CameraIndex.Right: m_frontCam.GetComponent<Camera>().enabled = false; m_rightCam.GetComponent<Camera>().enabled = true; m_backCam.GetComponent<Camera>().enabled = false; m_leftCam.GetComponent<Camera>().enabled = false; break; case CameraIndex.Back: m_frontCam.GetComponent<Camera>().enabled = false; m_rightCam.GetComponent<Camera>().enabled = false; m_backCam.GetComponent<Camera>().enabled = true; m_leftCam.GetComponent<Camera>().enabled = false; break; case CameraIndex.Left: m_frontCam.GetComponent<Camera>().enabled = false; m_rightCam.GetComponent<Camera>().enabled = false; m_backCam.GetComponent<Camera>().enabled = false; m_leftCam.GetComponent<Camera>().enabled = true; break; } }
public void SetTranslationVector(CameraIndex idx, Vector<double> matrix) { if(idx == CameraIndex.Left) TranslationLeft = matrix; else TranslationRight = matrix; }
public Vector<double> GetEpipole(CameraIndex idx) { return idx == CameraIndex.Left ? EpipoleLeft : EpipoleRight; }
public RadialDistortionModel GetDistortionModel(CameraIndex idx) { return idx == CameraIndex.Left ? DistortionModelLeft : DistortionModelRight; }