internal double Match(SmothendSkeleton skeleton) // distance to other person { SkeletonPoint currentRoot = Position; SkeletonPoint otherRoot = skeleton.Positon; return(SkeletonMath.DistanceBetweenPoints(currentRoot, otherRoot)); }
/// <summary> /// Store a new skeleton /// </summary> /// <param name="ss"></param> internal void AddSkeleton(SmothendSkeleton ss) { Position = ss.Positon; TrackingId = ss.TrackingId; TrackingState = ss.TrackingState; if (ss.TrackingState == SkeletonTrackingState.Tracked) { if (NewSkeleton != null) { skeletons.Enqueue(ss); NewSkeleton(this, new NewSkeletonEventArgs(ss)); // Event for conditions } if (skeletons.Count >= SkeletonsToStore) { skeletons.Dequeue(); // remove old unneded } } }
public NewSkeletonEventArgs(SmothendSkeleton skeleton) { Skeleton = skeleton; }