Exemple #1
0
    /// <summary>
    /// Disable Vuforia
    /// Disables Vuforia behaviour.
    /// </summary>
    /// <param name="evt"></param>
    private void DisableVuforia(KIXEvent evt)
    {
        PositionalDeviceTracker _deviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        _deviceTracker?.Reset();
        VuforiaBehaviour.Instance.enabled = false;
    }
Exemple #2
0
    public void ResetTrackers()
    {
        Debug.Log("ResetTrackers() called.");

        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        // Stop and restart trackers
        m_SmartTerrain.Stop();  // stop SmartTerrain tracker before PositionalDeviceTracker
        m_PositionalDeviceTracker.Reset();
        m_SmartTerrain.Start(); // start SmartTerrain tracker after PositionalDeviceTracker
    }
    public void ActivateDataSet(string datasetName)
    {
        // ObjectTracker tracks ImageTargets contained in a DataSet and provides methods for creating and (de)activating datasets.
        ObjectTracker         objectTracker = TrackerManager.Instance.GetTracker <ObjectTracker>();
        IEnumerable <DataSet> datasets      = objectTracker.GetDataSets();

        IEnumerable <DataSet> activeDataSets            = objectTracker.GetActiveDataSets();
        List <DataSet>        activeDataSetsToBeRemoved = activeDataSets.ToList();

        // 1. Loop through all the active datasets and deactivate them.
        foreach (DataSet ads in activeDataSetsToBeRemoved)
        {
            objectTracker.DeactivateDataSet(ads);
        }

        // Swapping of the datasets should NOT be done while the ObjectTracker is running.
        // 2. So, Stop the tracker first.
        objectTracker.Stop();

        // 3. Then, look up the new dataset and if one exists, activate it.
        foreach (DataSet ds in datasets)
        {
            if (ds.Path.Contains(datasetName))
            {
                objectTracker.ActivateDataSet(ds);
            }
        }

        // 4. Finally, restart the object tracker and reset the device tracker.
        objectTracker.Start();

        if (m_PositionalDeviceTracker != null)
        {
            m_PositionalDeviceTracker.Reset();
        }
        else
        {
            Debug.LogError("Failed to reset device tracker");
        }
    }
Exemple #4
0
 void OnTrackerReset(KIXEvent evt)
 {
     _positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
     _positionalDeviceTracker?.Reset();
 }
Exemple #5
0
 public void Reset(Action callback)
 {
     positionalDeviceTracker?.Reset();
     onAfterReset += callback;
 }