AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
VuMarkHandler.cs
Go to the documentation of this file.
1 /*===============================================================================
2 Copyright (c) 2016 PTC Inc. All Rights Reserved.
3 Confidential and Proprietary - Protected under copyright and other laws.
4 Vuforia is a trademark of PTC Inc., registered in the United States and other
5 countries.
6 ===============================================================================*/
7 using System.Collections;
8 using UnityEngine;
9 using UnityEngine.Networking;
10 using Vuforia;
11 
12 
16 public class VuMarkHandler : MonoBehaviour
17 {
18  public Origin child;
19  public string ID;
20 
21  #region PRIVATE_MEMBER_VARIABLES
22 
23  private VuMarkManager mVuMarkManager;
24  private VuMarkTarget mClosestVuMark;
25  private VuMarkTarget mCurrentVuMark;
26 
27  #endregion // PRIVATE_MEMBER_VARIABLES
28 
29 
30  #region UNTIY_MONOBEHAVIOUR_METHODS
31 
32  void Start()
33  {
34  // register callbacks to VuMark Manager
35  mVuMarkManager = TrackerManager.Instance.GetStateManager().GetVuMarkManager();
36  mVuMarkManager.RegisterVuMarkDetectedCallback(OnVuMarkDetected);
37  mVuMarkManager.RegisterVuMarkLostCallback(OnVuMarkLost);
38  }
39 
40  void Update()
41  {
42  }
43 
44  void OnDestroy()
45  {
46  // unregister callbacks from VuMark Manager
47  mVuMarkManager.UnregisterVuMarkDetectedCallback(OnVuMarkDetected);
48  mVuMarkManager.UnregisterVuMarkLostCallback(OnVuMarkLost);
49  }
50 
51  #endregion // UNTIY_MONOBEHAVIOUR_METHODS
52 
53 
54 
55  #region PUBLIC_METHODS
56 
60  public void OnVuMarkDetected(VuMarkTarget target)
61  {
62  Debug.Log("New VuMark: " + GetVuMarkID(target) + " name:" + target.Name);
63  ID = GetVuMarkID(target);
64  // assign ID to VuMark's child GameObject
65  child = gameObject.AddComponent<Origin>();
66  child.Init(ID);
67  }
68 
72  public void OnVuMarkLost(VuMarkTarget target)
73  {
74  Debug.Log("Lost VuMark: " + GetVuMarkID(target));
75  }
76 
77  #endregion // PUBLIC_METHODS
78 
79 
80 
81  #region PRIVATE_METHODS
82 
83 
84  private string GetVuMarkID(VuMarkTarget vumark)
85  {
86  return vumark.InstanceId.StringValue;
87  }
88 
89  #endregion // PRIVATE_METHODS
90 }
void Init(string VuMarkId)
This method associates the parent VuMarkId to Origin
Definition: Origin.cs:29
void OnVuMarkLost(VuMarkTarget target)
This method will be called whenever a tracked VuMark is lost
void OnVuMarkDetected(VuMarkTarget target)
This method will be called whenever a new VuMark is detected
A custom handler which uses the vuMarkManager.
Definition: Origin.cs:6