/// 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));
              }
        }