/// <summary>
		/// Creates the skeleton.
		/// </summary>
		/// <returns>The skeleton.</returns>
        public static ISkeleton CreateSkeleton()
        {
            int centerY = 0;
            int neckY = 400;
            var centerOrientation = new Vector4(0, 0, 0, 0);
            var s = new Skeleton { Valid = true };

            var head = CreateHead();

            IJoint neck = Creator.CreateParent(new List<IJoint> { head });
            neck.Point = new Vector3(0, neckY, 0);
            neck.JointType = JointType.NECK;
            neck.Valid = true;

            IJoint center = Creator.CreateParent(new List<IJoint> { neck });
            center.Orientation = centerOrientation;
            center.Point = new Vector3(0, centerY, 0);
            center.JointType = JointType.CENTER;
            center.Valid = true;

            s.Root = center;

            return s;
        }
 public static ISkeleton Add(ISkeleton s, SkeletonDiff diff)
 {
     var newSkeleton = new Skeleton {Root = SkeletonDiff.Add(s.Root, diff.Root)};
     return newSkeleton;
 }
 public ISkeleton Clone()
 {
     var s = new Skeleton(id, valid, timestamp);
     s.root = root.Clone();
     return s;
 }