public override bool SetFocusMode(CameraDevice.FocusMode mode) { bool flag = QCARWrapper.Instance.CameraDeviceSetFocusMode((int)mode) != 0; Debug.Log("Requested Focus mode " + mode + (flag ? " successfully." : ". Not supported on this device.")); return(flag); }
// code from Vuforia Developer Library // https://library.vuforia.com/articles/Solution/Camera-Focus-Modes private void Start() { CurrentFocusMode = CameraDevice.FocusMode.FOCUS_MODE_NORMAL; var vuforia = VuforiaARController.Instance; vuforia.RegisterVuforiaStartedCallback(OnVuforiaStarted); vuforia.RegisterOnPauseCallback(OnPaused); }
private void SetFocusModeToContinuousAuto() { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; } Debug.Log("Focus Mode Changed To " + mFocusMode); }
private void HandleSingleTap() { // trigger focus once if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; mAutoFocusText = AUTOFOCUS_ON; } }
// Draw menus. public void OnGUI() { if (mMenuOpen) { // scale the menu buttons // because of this scaling, hardcoded values can be used int smallerScreenDimension = Screen.width < Screen.height ? Screen.width : Screen.height; float deviceDependentScale = smallerScreenDimension / 480f; Vector2 screenCenter = new Vector2(Screen.width / 2f, Screen.height / 2f); GUIUtility.ScaleAroundPivot(new Vector2(deviceDependentScale, deviceDependentScale), screenCenter); GUIStyle itemButtonStyle; if (mButtonGUIStyles.TryGetValue("ItemMenu", out itemButtonStyle)) { if (!mContinousAFSupported) { mAutoFocusText = "Cont. Auto Focus not supported "; } if (GUI.Button(new Rect(0, Screen.height / 2 - 100, Screen.width, 114), mAutoFocusText, itemButtonStyle)) { if (mFocusMode != CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; mAutoFocusText = AUTOFOCUS_OFF; } mMenuOpen = false; mUserDefinedTargetEventHandler.UserInterFace.ButtonPressed = true; } else { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_NORMAL; mAutoFocusText = AUTOFOCUS_ON; } mMenuOpen = false; mUserDefinedTargetEventHandler.UserInterFace.ButtonPressed = true; } } if (GUI.Button(new Rect(0, Screen.height / 2 + 20, Screen.width, 114), "Cancel", itemButtonStyle)) { mMenuOpen = false; mUserDefinedTargetEventHandler.UserInterFace.ButtonPressed = true; } } // reset scale after drawing GUIUtility.ScaleAroundPivot(Vector2.one, screenCenter); } }
private void OnVuforiaStarted() { var isCameraModeAutoFocus = CameraDevice.Instance.SetFocusMode( CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO); if (isCameraModeAutoFocus) // set cameraFocusMode so that it can be tested { CurrentFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; } }
private IEnumerator SetFocusModeToTriggerAuto() { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; } Debug.Log("Focus Mode Changed To " + mFocusMode); yield return(new WaitForSeconds(1.0f)); SetFocusModeToContinuousAuto(); }
/// <summary> /// This method is called when QCAR has finished initializing /// </summary> public void OnInitialized() { // try to set continous auto focus as default if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; } else { Debug.LogError("could not switch to continuous autofocus"); mContinousAFSupported = false; } }
private void HandleSingleTap() { mWaitingForSecondTap = false; if (mMenuOpen) { mMenuOpen = false; } else { // trigger focus once if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; } } }
private void HandleSingleTap() { if (OnClicked != null) { OnClicked(); OnClicked = null; } else { // trigger focus once if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; mAutoFocusText = AUTOFOCUS_ON; } } }
void OnGUI() { if (mMenuOpen) { ComputePosition(); // Setup style for buttons. GUIStyle buttonGroupStyle = new GUIStyle(GUI.skin.button); buttonGroupStyle.stretchWidth = true; buttonGroupStyle.stretchHeight = true; GUILayout.BeginArea(mAreaRect); GUILayout.BeginVertical(buttonGroupStyle); GUILayout.BeginHorizontal(buttonGroupStyle); // Create and destroy virtual buttons. if (GUILayout.Button("Toggle Red", buttonGroupStyle)) { ToggleVirtualButton("red"); } if (GUILayout.Button("Toggle Blue", buttonGroupStyle)) { ToggleVirtualButton("blue"); } if (GUILayout.Button("Toggle Yellow", buttonGroupStyle)) { ToggleVirtualButton("yellow"); } if (GUILayout.Button("Toggle Green", buttonGroupStyle)) { ToggleVirtualButton("green"); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(buttonGroupStyle); if (!mContinousAFSupported) { if (GUILayout.Button("Cont. Auto Focus not supported on this device", buttonGroupStyle)) { mMenuOpen = false; mButtonPressed = true; } } else { // toggle continuous autofocus if (mFocusMode == CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO) { // button to change to single auto focus: if (GUILayout.Button("Deactivate Cont. Auto Focus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_NORMAL; } mMenuOpen = false; mButtonPressed = true; } } else { // button to change to cont. auto focus: if (GUILayout.Button("Activate Cont. Auto Focus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; } mMenuOpen = false; mButtonPressed = true; } } } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); } }
void OnGUI() { if (mMenuOpen) { ComputePosition(); // Setup style for buttons. GUIStyle buttonGroupStyle = new GUIStyle(GUI.skin.button); buttonGroupStyle.stretchWidth = true; buttonGroupStyle.stretchHeight = true; GUILayout.BeginArea(mAreaRect); GUILayout.BeginVertical(buttonGroupStyle); GUILayout.BeginHorizontal(buttonGroupStyle); // Create and destroy virtual buttons. if (GUILayout.Button("Toggle Red", buttonGroupStyle)) { ToggleVirtualButton("red"); } if (GUILayout.Button("Toggle Blue", buttonGroupStyle)) { ToggleVirtualButton("blue"); } if (GUILayout.Button("Toggle Yellow", buttonGroupStyle)) { ToggleVirtualButton("yellow"); } if (GUILayout.Button("Toggle Green", buttonGroupStyle)) { ToggleVirtualButton("green"); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(buttonGroupStyle); if (!mContinousAFSupported) { if (GUILayout.Button("Cont. Auto Focus not supported on this device", buttonGroupStyle)) { mMenuOpen = false; mButtonPressed = true; } } else { // toggle continuous autofocus if (mFocusMode == CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO) { // button to change to single auto focus: if (GUILayout.Button("Deactivate Cont. Auto Focus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_NORMAL; mMenuOpen = false; mButtonPressed = true; } } else { // button to change to cont. auto focus: if (GUILayout.Button("Activate Cont. Auto Focus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; mMenuOpen = false; mButtonPressed = true; } } } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); } }
// Draw menus. public void OnGUI() { if (mMenuOpen) { // scale the menu buttons // because of this scaling, hardcoded values can be used int smallerScreenDimension = Screen.width < Screen.height ? Screen.width : Screen.height; float deviceDependentScale = smallerScreenDimension / 480f; Vector2 screenCenter = new Vector2(Screen.width / 2f, Screen.height / 2f); GUIUtility.ScaleAroundPivot(new Vector2(deviceDependentScale, deviceDependentScale), screenCenter); GUIStyle itemButtonStyle; if (mButtonGUIStyles.TryGetValue("ItemMenu", out itemButtonStyle)) { if (!mContinousAFSupported) { mAutoFocusText = "Cont. Auto Focus not supported "; } if (GUI.Button(new Rect(0, Screen.height / 2 - 150, Screen.width, 114), mAutoFocusText, itemButtonStyle)) { if (mFocusMode != CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO; mAutoFocusText = AUTOFOCUS_OFF; } mMenuOpen = false; mButtonPressed = true; } else { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_NORMAL; mAutoFocusText = AUTOFOCUS_ON; } mMenuOpen = false; mButtonPressed = true; } } if (GUI.Button(new Rect(0, Screen.height / 2 - 30, Screen.width, 114), mDatasetText, itemButtonStyle)) { ImageTracker imageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER); IEnumerable <DataSet> dataSets = imageTracker.GetDataSets(); IEnumerable <DataSet> activeDataSets = imageTracker.GetActiveDataSets(); // Changes current active dataset if (dataSets.Count() >= 2 && activeDataSets.Count() >= 1) { DataSet activeDataSet = activeDataSets.ElementAt(0); if (mCurrentDataSetIndex == 0) { imageTracker.DeactivateDataSet(activeDataSet); imageTracker.ActivateDataSet(dataSets.ElementAt(1)); mCurrentDataSetIndex = 1; mDatasetText = SWITCH_TO_STONES_AND_CHIPS; } else { imageTracker.DeactivateDataSet(activeDataSet); imageTracker.ActivateDataSet(dataSets.ElementAt(0)); mCurrentDataSetIndex = 0; mDatasetText = SWITCH_TO_TARMAC_TEXT; } } else { Debug.LogWarning("Not enough data sets to toggle"); } mMenuOpen = false; mButtonPressed = true; } if (GUI.Button(new Rect(0, Screen.height / 2 + 90, Screen.width, 114), "Cancel", itemButtonStyle)) { mMenuOpen = false; mButtonPressed = true; } } // reset scale after drawing GUIUtility.ScaleAroundPivot(Vector2.one, screenCenter); } }
// Draw menu to control camera device. private void DrawMenu() { computePosition(); // Setup style for buttons. GUIStyle buttonGroupStyle = new GUIStyle(GUI.skin.button); buttonGroupStyle.stretchWidth = true; buttonGroupStyle.stretchHeight = true; GUILayout.BeginArea(mAreaRect); GUILayout.BeginHorizontal(buttonGroupStyle); // Turn flash on or off. if (GUILayout.Button("Toggle Flash", buttonGroupStyle)) { if (!mFlashEnabled) { // Turn on flash if it is currently disabled. CameraDevice.Instance.SetFlashTorchMode(true); mFlashEnabled = true; } else { // Turn off flash if it is currently enabled. CameraDevice.Instance.SetFlashTorchMode(false); mFlashEnabled = false; } mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Triggers auto focus: if (GUILayout.Button("Autofocus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Choose focus mode. if (GUILayout.Button("Focus Modes", buttonGroupStyle)) { mMenuToShow = MenuMode.MENU_FOCUS_MODES; mButtonPressed = true; } if (GUILayout.Button("Target", buttonGroupStyle)) { /*DataSetLoadBehaviour data = GetComponent<DataSetLoadBehaviour>(); //print("NUM="+data.TrackerList["FlakesBox"].img.GetNumDataSets()); if(data.DataSetToActivate == "Game") { DataSetLoadBehaviour.ImageTrackedStruct imageTracked = data.TrackerList["FlakesBox"]; imageTracked.img.ActivateDataSet(imageTracked.data); data.DataSetToActivate = "FlakesBox"; } else { DataSetLoadBehaviour.ImageTrackedStruct imageTracked = data.TrackerList["Game"]; imageTracked.img.ActivateDataSet(imageTracked.data); data.DataSetToActivate = "Game"; }*/ } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
private IEnumerator SetFocusModeToTriggerAuto() { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) { mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; } Debug.Log("Focus Mode Changed To " + mFocusMode); yield return new WaitForSeconds(1.0f); SetFocusModeToContinuousAuto(); }
// Draw menu to control camera device. private void DrawMenu() { computePosition(); // Setup style for buttons. GUIStyle buttonGroupStyle = new GUIStyle(GUI.skin.button); buttonGroupStyle.stretchWidth = true; buttonGroupStyle.stretchHeight = true; GUILayout.BeginArea(mAreaRect); GUILayout.BeginVertical(buttonGroupStyle); GUILayout.BeginHorizontal(buttonGroupStyle); // Turn flash on or off. if (GUILayout.Button("Toggle Flash", buttonGroupStyle)) { if (!mFlashEnabled) { // Turn on flash if it is currently disabled. CameraDevice.Instance.SetFlashTorchMode(true); mFlashEnabled = true; } else { // Turn off flash if it is currently enabled. CameraDevice.Instance.SetFlashTorchMode(false); mFlashEnabled = false; } mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Swap data sets. if (GUILayout.Button("Toggle Data Set", buttonGroupStyle)) { Debug.Log("Toggle data set"); ImageTracker imageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER); // Toggle between first two available data sets. if (imageTracker.GetNumDataSets() >= 2) { DataSet activeDataSet = imageTracker.GetActiveDataSet(); if (activeDataSet == imageTracker.GetDataSet(0)) { imageTracker.DeactivateDataSet(activeDataSet); imageTracker.ActivateDataSet(imageTracker.GetDataSet(1)); Debug.Log("swapping to dataset " + imageTracker.GetDataSet(1).Path); } else { imageTracker.DeactivateDataSet(activeDataSet); imageTracker.ActivateDataSet(imageTracker.GetDataSet(0)); Debug.Log("swapping to dataset " + imageTracker.GetDataSet(0).Path); } } else { Debug.LogWarning("Not enough data sets to toggle"); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(buttonGroupStyle); // Triggers auto focus: if (GUILayout.Button("Trigger Autofocus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Choose focus mode. if (GUILayout.Button("Focus Modes", buttonGroupStyle)) { mMenuToShow = MenuMode.MENU_FOCUS_MODES; mButtonPressed = true; } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); }
public void ChangeFocusMode(int index) { CameraDevice.FocusMode value = (CameraDevice.FocusMode)index; CameraDevice.Instance.SetFocusMode( value); }
// Draw menu to let user choose a focus mode. private void DrawFocusModes() { CameraDevice.FocusMode newMode; newMode = EnumOptionList(mFocusMode); // We set the new value only if the mode has changed. if (newMode != mFocusMode) { if (CameraDevice.Instance.SetFocusMode(newMode)) mFocusMode = newMode; mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } }
private void HandleSingleTap() { mWaitingForSecondTap = false; if (mMenuOpen) mMenuOpen = false; else { // trigger focus once if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; } }
// Draw menu to control camera device. private void DrawMenu() { computePosition(); // Setup style for buttons. GUIStyle buttonGroupStyle = new GUIStyle(GUI.skin.button); buttonGroupStyle.stretchWidth = true; buttonGroupStyle.stretchHeight = true; GUILayout.BeginArea(mAreaRect); GUILayout.BeginHorizontal(buttonGroupStyle); // Turn flash on or off. if (GUILayout.Button("Toggle Flash", buttonGroupStyle)) { if (!mFlashEnabled) { // Turn on flash if it is currently disabled. CameraDevice.Instance.SetFlashTorchMode(true); mFlashEnabled = true; } else { // Turn off flash if it is currently enabled. CameraDevice.Instance.SetFlashTorchMode(false); mFlashEnabled = false; } mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Triggers auto focus: if (GUILayout.Button("Autofocus", buttonGroupStyle)) { if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO)) mFocusMode = CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO; mMenuToShow = MenuMode.MENU_OFF; mButtonPressed = true; } // Choose focus mode. if (GUILayout.Button("Focus Modes", buttonGroupStyle)) { mMenuToShow = MenuMode.MENU_FOCUS_MODES; mButtonPressed = true; } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public abstract bool SetFocusMode(CameraDevice.FocusMode mode);