private void InitializeCloudManager() { CloudManager = AnchorWrapper.Instance; CloudManager.OnAnchorLocated += CloudManager_OnAnchorLocated; CloudManager.OnLocateAnchorsCompleted += CloudManager_OnLocateAnchorsCompleted; CloudManager.OnLogDebug += CloudManager_OnLogDebug; CloudManager.OnSessionError += CloudManager_OnSessionError; CloudManager.OnSessionUpdated += CloudManager_SessionUpdated; }
void AnchorListBoxDoubleClick(object sender, EventArgs e) { if (anchorListBox.SelectedIndex >= 0) { AnchorWrapper w = (AnchorWrapper)anchorListBox.Items[anchorListBox.SelectedIndex]; if (!w.Anchor.IsDeleted) { textEditorControl.ActiveTextAreaControl.Caret.Position = w.Anchor.Location; textEditorControl.Focus(); } } }
public static void ReleaseUserFromAnchorWrapper(AnchorWrapper anchorWrapper) { AnchorWrapper current; if (AnchorsDictionary.TryGetValue(anchorWrapper.trackableHashCode, out current)) { current.numberOfUsers--; if (current.numberOfUsers <= 0) { current.ReleaseAnchor(); AnchorsDictionary.Remove(anchorWrapper.trackableHashCode); } } }
private void OnDestroy() { enableSession = false; if (cloudSpatialAnchorSession != null) { cloudSpatialAnchorSession.Stop(); cloudSpatialAnchorSession.Dispose(); cloudSpatialAnchorSession = null; } if (anchorLocateCriteria != null) { anchorLocateCriteria = null; } _instance = null; }
public static AnchorWrapper GetAnchorForTrackable(Trackable trackable, Pose pose) { var trackableHashCode = trackable.GetHashCode(); AnchorWrapper anchorToReturn; if (AnchorsDictionary.TryGetValue(trackableHashCode, out anchorToReturn)) { AnchorsDictionary[trackableHashCode].numberOfUsers++; anchorToReturn = AnchorsDictionary[trackableHashCode]; } else { AnchorsDictionary.Add(trackableHashCode, anchorToReturn = new AnchorWrapper(trackable, pose, trackableHashCode)); anchorToReturn.numberOfUsers++; } return(anchorToReturn); }