示例#1
0
    // Deinitialize QCAR and trackers when QCARBehaviour is destroyed.
    void OnDestroy()
    {
        // Destroy all the datasets
        ImageTracker imageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER);

        if (imageTracker != null)
        {
            imageTracker.DestroyAllDataSets(false);
        }

        // Destroy all the markers
        MarkerTracker markerTracker = (MarkerTracker)TrackerManager.Instance.GetTracker(Tracker.Type.MARKER_TRACKER);

        if (markerTracker != null)
        {
            markerTracker.DestroyAllMarkers(false);
        }

        // Deinit the QCARManager
        QCARManager.Instance.Deinit();

        // Deinit the trackers
        if (TrackerManager.Instance.GetTracker(Tracker.Type.MARKER_TRACKER) != null)
        {
            TrackerManager.Instance.DeinitTracker(Tracker.Type.MARKER_TRACKER);
        }

        if (TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER) != null)
        {
            TrackerManager.Instance.DeinitTracker(Tracker.Type.IMAGE_TRACKER);
        }
    }
    // Deinitialize QCAR and trackers when QCARBehaviour is destroyed.
    void OnDestroy()
    {
        // clear all trackable results in the StateManager
        StateManagerImpl stateManager = (StateManagerImpl)TrackerManager.Instance.GetStateManager();

        stateManager.ClearTrackableBehaviours();

        // Destroy all the datasets
        ImageTracker imageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER);

        if (imageTracker != null)
        {
            imageTracker.DestroyAllDataSets(false);
            imageTracker.Stop();
        }

        // Destroy all the markers
        MarkerTracker markerTracker = (MarkerTracker)TrackerManager.Instance.GetTracker(Tracker.Type.MARKER_TRACKER);

        if (markerTracker != null)
        {
            markerTracker.DestroyAllMarkers(false);
            markerTracker.Stop();
        }

        TextTracker textTracker = (TextTracker)TrackerManager.Instance.GetTracker(Tracker.Type.TEXT_TRACKER);

        if (textTracker != null)
        {
            textTracker.Stop();
        }

        // Deinit the QCARManager
        QCARManager.Instance.Deinit();

        // Deinit the trackers
        if (TrackerManager.Instance.GetTracker(Tracker.Type.MARKER_TRACKER) != null)
        {
            TrackerManager.Instance.DeinitTracker(Tracker.Type.MARKER_TRACKER);
        }

        if (TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER) != null)
        {
            TrackerManager.Instance.DeinitTracker(Tracker.Type.IMAGE_TRACKER);
        }

        if (TrackerManager.Instance.GetTracker(Tracker.Type.TEXT_TRACKER) != null)
        {
            TrackerManager.Instance.DeinitTracker(Tracker.Type.TEXT_TRACKER);
        }

        if (QCARRuntimeUtilities.IsPlayMode())
        {
            // deinit explicitly if running in the emulator
            QCARWrapper.Instance.QcarDeinit();
        }
    }
示例#3
0
    private void OnDestroy()
    {
        ((StateManagerImpl)TrackerManager.Instance.GetStateManager()).ClearTrackableBehaviours();
        ImageTracker tracker = TrackerManager.Instance.GetTracker <ImageTracker>();

        if (tracker != null)
        {
            tracker.DestroyAllDataSets(false);
            tracker.Stop();
        }
        MarkerTracker tracker2 = TrackerManager.Instance.GetTracker <MarkerTracker>();

        if (tracker2 != null)
        {
            tracker2.DestroyAllMarkers(false);
            tracker2.Stop();
        }
        TextTracker tracker3 = TrackerManager.Instance.GetTracker <TextTracker>();

        if (tracker3 != null)
        {
            tracker3.Stop();
        }
        QCARManager.Instance.Deinit();
        if (tracker2 != null)
        {
            TrackerManager.Instance.DeinitTracker <MarkerTracker>();
        }
        if (tracker != null)
        {
            TrackerManager.Instance.DeinitTracker <ImageTracker>();
        }
        if (tracker3 != null)
        {
            TrackerManager.Instance.DeinitTracker <TextTracker>();
        }
        if (QCARRuntimeUtilities.IsPlayMode())
        {
            QCARWrapper.Instance.QcarDeinit();
        }
        if (this.mAndroidUnityPlayer != null)
        {
            this.mAndroidUnityPlayer.Dispose();
        }
    }