Log in or register to post comments

3.0.6 More classes hidden away

July 7, 2014 - 4:08am #1

I'm just going through the upgrade process to version 3.0.6 and have found yet again that certain classes have been hidden away into DLLs. The two classes in question are the SceneManager and the ConfigDataManager.

Are there any new wrapper methods to get the data from these classes? I have a custom DataSetLoad and DataSetLoadEditor, so was acessing them with the following lines of code:

 

if (!SceneManager.Instance.SceneInitialized)
{
	SceneManager.Instance.InitScene();
}

 

string[] dataSetList = new string[ConfigDataManager.Instance.NumConfigDataObjects - 1];
// Fill list with available data sets.
ConfigDataManager.Instance.GetConfigDataNames(dataSetList, false);

 

Both classes throw a "does not exist in the current context" error. As Vuforias own DataSetLoadEditor is now wrapped up in the DLL too I cannot cross reference to see what has changed.

3.0.6 More classes hidden away

September 3, 2014 - 9:18am #6

That's weird;

I just tried this:

  • create an empty scene
  • add an ARCamera to the scene
  • add this script to the ARCamera
public class Trackers : MonoBehaviour {

	// Update is called once per frame
	void Update () 
	{
		ImageTracker it = TrackerManager.Instance.GetTracker<ImageTracker>();
		if (it == null)
			Debug.Log ("Tracker null");
		else 
			Debug.Log ("Tracker OK");
	}
}

The logs show that the Tracker is OK (not null)l... could you make the same basic test ?

 

3.0.6 More classes hidden away

August 27, 2014 - 8:16am #5

The line:

TrackerManager.Instance.GetTracker<ImageTracker>();

returns null. If I try to initialise the trackers:

TrackerManager.Instance.InitTracker<ImageTracker>();

I get the error: Could not initialize the tracker.

3.0.6 More classes hidden away

August 25, 2014 - 10:33pm #4

To view the active DataSet names in the Unity Console, you could use the following code:

ImageTracker imageTracker = TrackerManager.Instance.GetTracker<ImageTracker>();
IEnumerable<DataSet> activeDataSets = imageTracker.GetActiveDataSets();
foreach (DataSet ds in activeDataSets) {
  Debug.Log("ActiveDataSet: " + ds.Path);
}

You can also use the GetDataSets() to retrieve all the DataSets. To retrieve the names of the Trackables in the DataSet, you can use the following:

IEnumerable<Trackable> trackables = ds.GetTrackables();
foreach (Trackable t in trackables) {
  Debug.Log ("Trackable ID: " + t.ID + ", Name: " + t.Name);
}

 

3.0.6 More classes hidden away

August 15, 2014 - 9:44am #3

This script still works with the previous version of Vuforia. 

I need them for a custom DataSetLoadEditor script. Can you point me to which sample project you refer too as I've looked through them and not found any new info on this. Alternatively can you let me know what the new way to retrieve the list of dataSetNames in a project?

 

Edit: I'll verify that the previous version this worked with was 2.8.7

3.0.6 More classes hidden away

July 9, 2014 - 6:59pm #2

What version SDK are you upgrading from? I looked in some older 2.x SDKs, but didn't find those classes. Seems that they have been removed for a while. If you download some of the 3.0.7 samples, you'll be able to see the new methods for handling the data sets.

Log in or register to post comments