/// <summary> /// Callback when a hand is active /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnUserHandActive(object sender, HandActiveEventArgs e) { RaiseUserHandActive(this, new HandActiveEventArgs { HandType = e.HandType, IsActive = e.IsActive, PositionOnScreen = e.PositionOnScreen, userID = this.UserID }); }
private void OnNewHandActive(object sender, HandActiveEventArgs e) { // Precondition checking if (m_refIdHandFeedback.ContainsKey(e.userID) == false) { // Unknown user return; } // Raise associated event if (e.HandType == Microsoft.Kinect.Toolkit.Interaction.InteractionHandType.Left) { var handId = m_refIdHandFeedback[e.userID].ElementAt(0); if (e.IsActive) { RaiseNewHandActive(handId, (int)(e.PositionOnScreen.X), (int)(e.PositionOnScreen.Y)); } else { RaiseUserHandLost(handId); } } else if (e.HandType == Microsoft.Kinect.Toolkit.Interaction.InteractionHandType.Right) { var handId = m_refIdHandFeedback[e.userID].ElementAt(1); if (e.IsActive) { RaiseNewHandActive(handId, (int)(e.PositionOnScreen.X), (int)(e.PositionOnScreen.Y)); } else { RaiseUserHandLost(handId); } } }
/// <summary> /// Raise event UserHandActive /// </summary> protected void RaiseUserHandActive(object sender, HandActiveEventArgs e) { if (UserHandActive != null) { UserHandActive(this, e); } }
/// <summary> /// Raise event HandIsActive /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void RaiseHandIsActive(object sender, HandActiveEventArgs e) { if (HandIsActive != null) { HandIsActive(sender, e); } }