コード例 #1
0
ファイル: Extensao.cs プロジェクト: nunesrenato86/TCC
        public static void DesenharEsqueletoUsuario(
            this SkeletonFrame pQuadro,
            KinectSensor pKinectSensor,
            Canvas pCanvasParaDesenhar)
        {
            if (pKinectSensor == null)
                throw new ArgumentNullException("kinectSensor");

            if (pCanvasParaDesenhar == null)
                throw new ArgumentNullException("canvasParaDesenhar");

            Skeleton lEsqueleto = ObterEsqueletoUsuario(pQuadro);

            if (lEsqueleto != null)
            {
                EsqueletoUsuarioAuxiliar lEsqueletoUsuarioAuxiliar = new EsqueletoUsuarioAuxiliar(pKinectSensor);

                foreach (BoneOrientation lOsso in lEsqueleto.BoneOrientations)
                {
                    lEsqueletoUsuarioAuxiliar.DesenharOsso(
                        lEsqueleto.Joints[lOsso.StartJoint],
                        lEsqueleto.Joints[lOsso.EndJoint],
                        pCanvasParaDesenhar);

                    lEsqueletoUsuarioAuxiliar.DesenharArticulacao(
                        lEsqueleto.Joints[lOsso.EndJoint],
                        pCanvasParaDesenhar);
                }
            }
        }
コード例 #2
0
        public static void DesenharEsqueletoUsuario
            (this SkeletonFrame quadro, KinectSensor kinectSensor,
            Canvas canvasParaDesenhar)
        {
            if (kinectSensor == null)
            {
                throw new ArgumentNullException("kinectSensor");
            }
            if (canvasParaDesenhar == null)
            {
                throw new ArgumentNullException("canvasParaDesenhar");
            }

            Skeleton esqueleto = ObterEsqueletoUsuario(quadro);

            if (esqueleto != null)
            {
                EsqueletoUsuarioAuxiliar esqueletoUsuarioAuxiliar = new EsqueletoUsuarioAuxiliar(kinectSensor);

                foreach (BoneOrientation osso in esqueleto.BoneOrientations)
                {
                    esqueletoUsuarioAuxiliar
                    .DesenharOsso(esqueleto.Joints[osso.StartJoint],
                                  esqueleto.Joints[osso.EndJoint],
                                  canvasParaDesenhar);

                    esqueletoUsuarioAuxiliar.DesenharArticulacao(esqueleto.Joints[osso.EndJoint], canvasParaDesenhar);
                }
            }
        }
コード例 #3
0
        private void DesenharEsqueletoUsuario(SkeletonFrame quadro)
        {
            if (quadro == null)
            {
                return;
            }

            using (quadro)
            {
                Skeleton[] esqueletos = new Skeleton[quadro.SkeletonArrayLength];
                quadro.CopySkeletonDataTo(esqueletos);
                IEnumerable <Skeleton> esqueletosRastreados = esqueletos.Where(esqueleto => esqueleto.TrackingState == SkeletonTrackingState.Tracked);
                if (esqueletosRastreados.Count() > 0)
                {
                    Skeleton esqueleto = esqueletosRastreados.First();
                    EsqueletoUsuarioAuxiliar funcoesEsqueletos = new EsqueletoUsuarioAuxiliar(kinect);
                    funcoesEsqueletos.DesenharArticulacao(esqueleto.Joints[JointType.HandRight], canvasKinect);
                    funcoesEsqueletos.DesenharArticulacao(esqueleto.Joints[JointType.HandLeft], canvasKinect);
                }
            }
        }