public void AddAnchor(ARPlaneAnchor arPlaneAnchor)
        {
            GameObject go = PlacenotePlaneUtility.CreatePlaneInScene(arPlaneAnchor);

            go.AddComponent <DontDestroyOnLoad>();  //this is so these GOs persist across scene loads
            ARPlaneAnchorGameObject arpag = new ARPlaneAnchorGameObject();

            arpag.planeAnchor = arPlaneAnchor;
            arpag.gameObject  = go;
            planeAnchorMap.Add(arPlaneAnchor.identifier, arpag);
        }
        public void LoadPlaneList(JToken mapMetadata)
        {
            //placenoteARAnchorManager = new PlacenoteARAnchorManager ();

            if (loadedPlaneList.Count > 0)
            {
                foreach (var planeGo in loadedPlaneList)
                {
                    Destroy(planeGo);
                }
                loadedPlaneList.Clear();
            }


            if (mapMetadata is JObject && mapMetadata["planes"] is JObject)
            {
                PlaneMeshList planeList = mapMetadata["planes"].ToObject <PlaneMeshList>();
                if (planeList == null)
                {
                    Debug.Log("Empty list of planes in metadata");
                    return;
                }
                Debug.Log("Loading + " + planeList.meshList.Length.ToString() + " planes");
                foreach (var plane in planeList.meshList)
                {
                    GameObject go = PlacenotePlaneUtility.CreatePlaneInScene(plane);
                    go.AddComponent <DontDestroyOnLoad>();  //this is so these GOs persist across scene loads
                    loadedPlaneList.AddLast(go);
                }
                //placenoteARAnchorManager.Destroy(); //stop detecting new planes
            }
            else
            {
                Debug.Log("No plane metadata available");
                return;
            }
        }