public static Skeleton[] GetSkeletons(this SkeletonFrame frame) { if (frame == null) return null; var skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo(skeletons); return skeletons; }
public static void GetSkeletons(this SkeletonFrame frame, ref Skeleton[] skeletons) { if (frame == null) return; if (skeletons == null || skeletons.Length != frame.SkeletonArrayLength) { skeletons = new Skeleton[frame.SkeletonArrayLength]; } frame.CopySkeletonDataTo(skeletons); }
public static Skeleton ObterEsqueletoUsuario(this SkeletonFrame quadro) { Skeleton esqueletoUsuario = null; Skeleton[] esqueletos = new Skeleton[quadro.SkeletonArrayLength]; quadro.CopySkeletonDataTo(esqueletos); IEnumerable<Skeleton> esqueletosRastreados = esqueletos.Where(esqueleto => esqueleto.TrackingState == SkeletonTrackingState.Tracked); if (esqueletosRastreados.Count() > 0) esqueletoUsuario = esqueletosRastreados.First(); return esqueletoUsuario; }
public static Skeleton GetFirstTrackedSkeleton( this SkeletonFrame skeletonFrame ) { Skeleton[] skeleton = new Skeleton[skeletonFrame.SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo( skeleton ); return (from s in skeleton where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault(); }
/// <summary> /// Returns the skeletons found in the current frame. /// </summary> /// <param name="frame">The SkeletonFrame generated by the Kinect sensor.</param> /// <returns>An array of skeletons or an empty array if no skeletons were found.</returns> public static Skeleton[] Skeletons(this SkeletonFrame frame) { frame.CopySkeletonDataTo(_skeletons); return _skeletons; }
/// <summary> /// スケルトンデータを取得する /// </summary> /// <param name="frame"></param> /// <returns></returns> public static Skeleton[] ToSkeletonData( this SkeletonFrame frame ) { Skeleton[] skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo( skeletons ); return skeletons; }