Пример #1
0
 private void StartCamera()
 {
     try
     {
         if (SelectedCamera != null && SelectedCamera.Start((sender, bitmap) =>
         {
             barcodeRenderer.Render(bitmap);
             if (_isScanning && _isBarcodeScanned)
             {
                 _isBarcodeScanned = false;
                 _currentBarcodeImage = (Bitmap)bitmap.Clone();
                 _reTimeToScanBarcode.Set();
             }
         }))
         {
             WriteLog(string.Format("Camera '{0}' was started", SelectedCamera));
         }
     }
     catch (Exception ex)
     {
         WriteLog("Failed to start camera", ex);
     }
     finally
     {
         UpdateUIControls();
     }
 }
Пример #2
0
    /// <summary>
    /// Change which camera is in use.
    /// </summary>
    private void changeCameras()
    {
        switch (selectCamera)
        {
        case SelectedCamera.Simulator:
            simulatorCameraGroup.SetActive(true);
            innovatorCameraGroup.SetActive(false);
            destinyCameraGroup.SetActive(false);
            savedSelCam = selectCamera;
            break;

        case SelectedCamera.Innovator:
            simulatorCameraGroup.SetActive(false);
            innovatorCameraGroup.SetActive(true);
            destinyCameraGroup.SetActive(false);
            savedSelCam = selectCamera;
            break;

        case SelectedCamera.Destiny:
            simulatorCameraGroup.SetActive(false);
            innovatorCameraGroup.SetActive(false);
            destinyCameraGroup.SetActive(true);
            savedSelCam = selectCamera;
            break;
        }
        guiTimeChange = Time.time;
        guiDisplay    = "cameraGUI";
    }
Пример #3
0
 private void ApplyCameraSettings()
 {
     try
     {
         FrameSize?frameSize = SelectedFrameSize;
         if (frameSize.HasValue)
         {
             SelectedCamera.SetFrameSize(frameSize.Value);
             WriteLog("New camera settings applied:");
             WriteLog(string.Format("camera: {0}", SelectedCamera), true);
             WriteLog(string.Format("frame size: {0}", SelectedFrameSize), true);
         }
         else
         {
             string msg = SelectedCamera == null
                 ? "camera is not selected"
                 : "frame size is not selected";
             WriteLog(string.Format("Can't apply camera settings: {0}", msg));
         }
     }
     catch (Exception ex)
     {
         WriteLog("Failed to apply camera settings", ex);
     }
     finally
     {
         UpdateUIControls();
     }
 }
Пример #4
0
    void Start()
    {
        if (CC_CONFIG.IsInnovator())
        {
            Screen.fullScreen = false;
        }

        //Load Settings
        if (CC_CONFIG.ConfigLoaded())
        {
            interaxial   = (int)CC_CONFIG.interaxial;
            panOptic     = CC_CONFIG.panOptic;
            enableStereo = CC_CONFIG.stereo;
        }

        //Get camera groups
        innovatorCameraGroup = transform.Find("CC_INNOVATOR_CAMERAS").gameObject;
        destinyCameraGroup   = transform.Find("CC_DESTINY_CAMERAS").gameObject;
        simulatorCameraGroup = transform.Find("CC_SIM_CAMERA").gameObject;

        //Simulator Camera Setup
        simCam                 = simulatorCameraGroup.GetComponent <Camera>();
        simCam.rect            = GetComponent <Camera>().rect;
        simCam.nearClipPlane   = GetComponent <Camera>().nearClipPlane;
        simCam.farClipPlane    = GetComponent <Camera>().farClipPlane;
        simCam.clearFlags      = GetComponent <Camera>().clearFlags;
        simCam.backgroundColor = GetComponent <Camera>().backgroundColor;
        simCam.cullingMask     = GetComponent <Camera>().cullingMask;

        //Innovator Camera Setup
        innovatorCamera = innovatorCameraGroup.transform.GetChild(0).gameObject.GetComponent <Camera>();
        innovatorCamera.GetComponent <CC_CAMERASTEREO>().CreateStereoCameras(false);

        //Destiny Camera Setup
        destinyCameras    = new Camera[4];
        destinyCameras[0] = destinyCameraGroup.transform.GetChild(0).GetComponent <Camera>();
        destinyCameras[1] = destinyCameraGroup.transform.GetChild(1).GetComponent <Camera>();
        destinyCameras[2] = destinyCameraGroup.transform.GetChild(2).GetComponent <Camera>();
        destinyCameras[3] = destinyCameraGroup.transform.GetChild(3).GetComponent <Camera>();
        for (int i = 0; i < 4; i++)
        {
            destinyCameras[i].GetComponent <CC_CAMERASTEREO>().CreateStereoCameras(true);
        }

        //Initial Update Cameras
        updateCamerasInteraxials();
        updateCamerasStereo();
        updateCamerasAspectRatio();

        //Save current settings
        savedAspectRatio = GetComponent <Camera>().aspect;
        savedStereo      = enableStereo;
        savedInteraxial  = interaxial;

        //GUI Setup
        style = new GUIStyle();
        if (CC_CONFIG.IsDestiny() || CC_CONFIG.IsInnovator())
        {
            style.fontSize = 100;
        }
        else
        {
            style.fontSize = 25;
        }
        style.normal.textColor = Color.white;

        //Set startup camera according to platform
        if (!Application.isEditor)
        {
            if (CC_CONFIG.IsInnovator())
            {
                selectCamera = SelectedCamera.Innovator;
            }
            else if (CC_CONFIG.IsDestiny())
            {
                selectCamera = SelectedCamera.Destiny;
            }
            else
            {
                selectCamera = SelectedCamera.Simulator;
            }
        }
        changeCameras();
    }
Пример #5
0
    void Update()
    {
        //Change cameras
        if (Input.GetKeyDown(KeyCode.Alpha0) && CC_CANOE.keyboardControls)
        {
            selectCamera++;
            if ((int)selectCamera >= 3)
            {
                selectCamera = 0;
            }
        }
        if (savedSelCam != selectCamera)
        {
            changeCameras();
        }

        //Change interaxial
        if (Input.GetKeyDown(KeyCode.Equals) && CC_CANOE.keyboardControls)
        {
            interaxial++;
        }
        if (Input.GetKeyDown(KeyCode.Minus) && CC_CANOE.keyboardControls)
        {
            interaxial--;
        }
        if (savedInteraxial != interaxial)
        {
            updateCamerasInteraxials();
        }

        //Enable/disable stereoscopic.
        if (Input.GetKeyDown(KeyCode.Alpha9) && CC_CANOE.keyboardControls)
        {
            enableStereo = !enableStereo;
        }
        if (savedStereo != enableStereo)
        {
            updateCamerasStereo();
        }

        //Enable/disable Panoptic for Destiny.
        if (Input.GetKeyDown(KeyCode.Alpha8) && CC_CANOE.keyboardControls)
        {
            panOptic      = !panOptic;
            guiTimeChange = Time.time;
            guiDisplay    = "panopticGUI";
        }

        //Checkes for changes to the aspect ratio for innovator and upadtes camera's accordingly.
        if (savedAspectRatio != GetComponent <Camera>().aspect)
        {
            updateCamerasAspectRatio();
        }

        //Change the Destiny Camera Index
        if (Input.GetKeyDown(KeyCode.LeftBracket) && CC_CANOE.keyboardControls)
        {
            if (destinyCameraIndex < 7)
            {
                destinyCameraIndex++;
                guiTimeChange = Time.time;
                guiDisplay    = "cameraIndex";
            }
        }
        if (Input.GetKeyDown(KeyCode.RightBracket) && CC_CANOE.keyboardControls)
        {
            if (destinyCameraIndex > 0)
            {
                destinyCameraIndex--;
                guiTimeChange = Time.time;
                guiDisplay    = "cameraIndex";
            }
        }
    }
Пример #6
0
 private void CbCameraSelectedIndexChanged(object sender, EventArgs e)
 {
     cbCameraFrameSizes.DataSource   = SelectedCamera.EnumerateFrameSizes();
     cbCameraFrameSizes.SelectedItem = SelectedCamera.FrameSize;
 }
 public void ResetSelectedCamera()
 {
     SelectedCamera.Reset();
     SendSelectedCameraChanged();
 }
Пример #8
0
 private void ResetCameraButton_Click(object sender, EventArgs e)
 {
     SelectedCamera.Reset();
     FOVSlider.Value = SelectedCamera.FOV;
     Cameras.ResetBindings();
 }