/// Add a player skeleton. public void addPlayer(Types.Skeleton skel) { person = skel; }
/** * Add avatar skeleton to the algorithm. * * @param skel Avatar's skeleton */ public void addAvatar(Types.Skeleton skel) { // Allow calculation of angular displacement only after 10 avatars are // collected. if (stop_count > 10){ _stop = false; } else if (stop_count <= 10){ stop_count++; } // This is a placeholder, it could be removed. avatar = skel; // Calculate the rotational body vector; the vector that points between the // two joints where the first joint is moved to the origin. foreach (Tuple<string, string> joint_combo in joint_combos){ LinkedList<double[]> tmp = moved_joints[joint_combo]; // Keep a constantly fresh set of record_max rotational body vectors. if (tmp.Count >= record_max) tmp.RemoveLast(); tmp.AddFirst(moveJointCombo(skel, joint_combo)); } }