public void OnTangoImageAvailableEventHandler(Tango.TangoEnums.TangoCameraId cameraId, Tango.TangoUnityImageData imageBuffer) { if (imageBuffer != null) { videoImages.Add(imageBuffer); } }
/// <summary> /// Register to get Tango image events. /// /// NOTE: Tango image events happen on a different thread than the main /// Unity thread. /// </summary> /// <param name="cameraId">Camera identifier to get events for.</param> /// <param name="useExperimentalOverlay">If true, use the experimental video overlay.</param> /// <param name="videoOverlayTexture">The video overlay texture to use. Only used in experimental mode.</param> internal virtual void SetCallback(Tango.TangoEnums.TangoCameraId cameraId, bool useExperimentalOverlay, YUVTexture videoOverlayTexture) { m_usingExperimentalOverlay = useExperimentalOverlay; if (!useExperimentalOverlay) { m_previousImageBuffer = new TangoUnityImageData(); m_onImageAvailable = new Tango.VideoOverlayProvider.TangoService_onImageAvailable(_OnImageAvailable); Tango.VideoOverlayProvider.SetCallback(cameraId, m_onImageAvailable); } else { if (videoOverlayTexture != null) { m_onUnityFrameAvailable = new Tango.VideoOverlayProvider.TangoService_onUnityFrameAvailable(_OnExperimentalUnityFrameAvailable); VideoOverlayProvider.ExperimentalConnectTexture(cameraId, videoOverlayTexture, m_onUnityFrameAvailable); Debug.Log("VideoOverlayListener.SetCallback() : Experimental Overlay listener hooked up"); } else { Debug.Log("VideoOverlayListener.SetCallback() : No Texture2D found!"); } } }
/// <summary> /// Handle the callback set by the Tango Service when a new image is available. /// </summary> /// <param name="callbackContext">Callback context.</param> /// <param name="cameraId">Camera identifier.</param> private void _OnExperimentalUnityFrameAvailable(IntPtr callbackContext, Tango.TangoEnums.TangoCameraId cameraId) { lock (m_lockObject) { m_previousCameraId = cameraId; m_shouldSendTextureIdMethodEvent = true; } }
public void OnTangoImageMultithreadedAvailable(Tango.TangoEnums.TangoCameraId id, Tango.TangoImageBuffer buf) { if (fCount == 0) { JLog("ExperimentalTangoImageAvailable on " + id.ToString()); } fCount++; }
public void OnExperimentalTangoImageAvailable(Tango.TangoEnums.TangoCameraId id) { if (fCount == 0) { JLog("ExperimentalTangoImageAvailable on " + id.ToString()); } fCount++; }
public void OnTangoImageAvailableEventHandler(Tango.TangoEnums.TangoCameraId cameraId, Tango.TangoUnityImageData imageBuffer) { TangoSupport.DetectMarkers(imageBuffer, cameraId, TangoSupport.MarkerType.QRCODE, MARKER_SIZE, markerList); if (markerList.Count > 0) { TangoSupport.Marker marker = markerList[0]; qrcodePlane.transform.position = marker.m_translation; qrcodePlane.transform.rotation = marker.m_orientation; var bottomToTop = marker.m_corner3DP3 - marker.m_corner3DP0; var leftToRight = marker.m_corner3DP1 - marker.m_corner3DP0; plane.transform.localScale = new Vector3(leftToRight.magnitude, 1, bottomToTop.magnitude) * 0.1f; } }
/// <summary> /// Register to get Tango image events for the texture ID is updated. /// /// NOTE: Tango image events happen on a different thread than the main /// Unity thread. /// </summary> /// <param name="cameraId">Camera identifier to get events for.</param> /// <param name="videoOverlayTexture">The video overlay texture to use.</param> internal virtual void SetCallbackTextureIdMethod(Tango.TangoEnums.TangoCameraId cameraId, YUVTexture videoOverlayTexture) { if (videoOverlayTexture != null) { m_onUnityFrameAvailable = new Tango.VideoOverlayProvider.TangoService_onUnityFrameAvailable(_OnExperimentalUnityFrameAvailable); VideoOverlayProvider.ExperimentalConnectTexture(cameraId, videoOverlayTexture, m_onUnityFrameAvailable); Debug.Log("VideoOverlayListener.SetCallback() : Experimental Overlay listener hooked up"); } else { Debug.Log("VideoOverlayListener.SetCallback() : No Texture2D found!"); } }
/// <summary> /// DEPRECATED: Handle the callback set by the Tango Service when a new image is available. /// </summary> /// <param name="callbackContext">Callback context.</param> /// <param name="cameraId">Camera identifier.</param> protected void _OnExperimentalUnityFrameAvailable(IntPtr callbackContext, Tango.TangoEnums.TangoCameraId cameraId) { m_previousCameraId = cameraId; m_shouldSendEvent = true; }
/// <summary> /// Handle the callback sent by the Tango Service /// when a new image is sampled. /// </summary> /// <param name="cameraId">Camera identifier.</param> /// <param name="callbackContext">Callback context.</param> /// <param name="imageBuffer">Image buffer.</param> protected abstract void _OnImageAvailable(IntPtr callbackContext, Tango.TangoEnums.TangoCameraId cameraId, Tango.TangoImageBuffer imageBuffer);
/// <summary> /// Sets the callback for image updates. /// </summary> /// <param name="cameraId">Camera identifier.</param> public virtual void SetCallback(Tango.TangoEnums.TangoCameraId cameraId) { m_onImageAvailable = new Tango.VideoOverlayProvider.TangoService_onImageAvailable(_OnImageAvailable); Tango.VideoOverlayProvider.SetCallback(cameraId, m_onImageAvailable); }
/// <summary> /// Register to get Tango image events for getting the texture byte buffer callback. /// /// NOTE: Tango image events happen on a different thread than the main /// Unity thread. /// </summary> /// <param name="cameraId">Camera identifier to get events for.</param> internal virtual void SetCallbackByteBufferMethod(Tango.TangoEnums.TangoCameraId cameraId) { m_previousImageBuffer = new TangoUnityImageData(); m_onImageAvailable = new Tango.VideoOverlayProvider.TangoService_onImageAvailable(_OnImageAvailable); Tango.VideoOverlayProvider.SetCallback(cameraId, m_onImageAvailable); }