Exemple #1
0
 public void OnTangoImageAvailableEventHandler(Tango.TangoEnums.TangoCameraId cameraId, Tango.TangoUnityImageData imageBuffer)
 {
     if (imageBuffer != null)
     {
         videoImages.Add(imageBuffer);
     }
 }
Exemple #2
0
        /// <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;
     }
 }
Exemple #4
0
 public void OnTangoImageMultithreadedAvailable(Tango.TangoEnums.TangoCameraId id, Tango.TangoImageBuffer buf)
 {
     if (fCount == 0)
     {
         JLog("ExperimentalTangoImageAvailable on " + id.ToString());
     }
     fCount++;
 }
Exemple #5
0
 public void OnExperimentalTangoImageAvailable(Tango.TangoEnums.TangoCameraId id)
 {
     if (fCount == 0)
     {
         JLog("ExperimentalTangoImageAvailable on " + id.ToString());
     }
     fCount++;
 }
Exemple #6
0
    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!");
            }
        }
Exemple #8
0
 /// <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);
 }