/// <summary> /// Cycles through guide views for Standard Model Targets with multiple views. /// </summary> public void CycleGuideView() { VLog.Log("cyan", "CycleGuideView() called."); if (this.modelStandard != null) { ModelTarget modelTarget = this.modelStandard.ModelTarget; int activeView = modelTarget.GetActiveGuideViewIndex(); int totalViews = modelTarget.GetNumGuideViews(); if (totalViews > 1 && activeView > -1) { int guideViewIndexToActivate = (activeView + 1) % totalViews; VLog.Log("yellow", modelTarget.Name + ": Activating Guide View Index " + guideViewIndexToActivate.ToString() + " of " + totalViews.ToString() + " total Guide Views."); modelTarget.SetActiveGuideViewIndex(guideViewIndexToActivate); } else { VLog.Log("yellow", "GuideView was not cycled." + "\nActive Guide View Index = " + activeView + "\nNumber of Guide Views = " + totalViews); } } }
protected override void OnTrackingFound() { base.OnTrackingFound(); if (mTrackableBehaviour.Trackable is ModelTarget) { ModelTarget modelTarget = mTrackableBehaviour.Trackable as ModelTarget; DrawOrientedBoundingBox3D(modelTarget.GetBoundingBox()); } }
/// <summary> /// Cycles through guide views for Standard Model Targets with multiple views. /// </summary> public void CycleGuideView() { if (this.modelStandard != null) { ModelTarget modelTarget = this.modelStandard.ModelTarget; int activeView = modelTarget.GetActiveGuideViewIndex(); int totalViews = modelTarget.GetNumGuideViews(); if (totalViews > 1 && activeView > -1) { int guideViewIndexToActivate = (activeView + 1) % totalViews; modelTarget.SetActiveGuideViewIndex(guideViewIndexToActivate); } } }
private void ActivateGloveTargetTracking(int guideViewIndex = 0) { foreach (TrackableBehaviour trackableBehaviour in mAllTargets) { print(trackableBehaviour.TrackableName); } //get the object tracker instance ObjectTracker objectTracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); if (objectTracker == null) { return; } objectTracker.Stop(); //load dataset DataSet gloveTargetDataSet = objectTracker.CreateDataSet(); gloveTargetDataSet.Load(mainGloveTarget); foreach (Trackable trackable in gloveTargetDataSet.GetTrackables()) { if (trackable is ModelTarget) { ModelTarget mTrackable = trackable as ModelTarget; mTrackable.SetActiveGuideViewIndex(guideViewIndex); } } objectTracker.ActivateDataSet(gloveTargetDataSet); //restart tracking objectTracker.Start(); foreach (TrackableBehaviour trackableBehaviour in GetTargets()) { print(trackableBehaviour.TrackableName); } }
void ActivateDataSet(string datasetName) { if (this.currentActiveDataSet == datasetName) { VLog.Log("yellow", "The selected dataset is already active."); // If the current dataset is already active, return. return; } // Stop the Object Tracker before activating/deactivating datasets. this.objectTracker.Stop(); // Deactivate the currently active datasets. DeactivateActiveDataSets(); var dataSets = this.objectTracker.GetDataSets(); bool dataSetFoundAndActivated = false; foreach (DataSet ds in dataSets) { if (ds.Path.Contains(datasetName + ".xml")) { // Activate the selected dataset. if (this.objectTracker.ActivateDataSet(ds)) { this.currentActiveDataSet = datasetName; } dataSetFoundAndActivated = true; var trackables = ds.GetTrackables(); foreach (Trackable t in trackables) { ModelTarget modelTarget = t as ModelTarget; } Transform modelTargetTransform = null; if (datasetName == DataSetStandard) { modelTargetTransform = this.modelStandard.transform; } else if (datasetName == DataSetAdvanced) { modelTargetTransform = this.modelAdvanced.transform; } // Set the parent transform for the augmentation. this.augmentation.transform.SetParent(modelTargetTransform); this.augmentation.transform.localPosition = Vector3.zero; this.augmentation.transform.localRotation = Quaternion.identity; this.augmentation.transform.localScale = Vector3.one; // Once we find and process selected dataset, exit foreach loop. break; } } if (!dataSetFoundAndActivated) { Debug.LogError("DataSet Not Found: " + datasetName); } // Start the Object Tracker. this.objectTracker.Start(); }