コード例 #1
0
        private void FuncoesEsqueletoUsuario(SkeletonFrame quadro)
        {
            if (quadro == null)
            {
                return;
            }

            using (quadro)
            {
                Skeleton esqueletoUsuario = quadro.ObterEsqueletoUsuario();

                if (btnDesenhar.IsChecked)
                {
                    Skeleton[] esqueletos = new Skeleton[6];
                    quadro.CopySkeletonDataTo(esqueletos);
                    fluxoInteracao.ProcessSkeleton(esqueletos, kinect.AccelerometerGetCurrentReading(), quadro.Timestamp);
                    EsqueletoUsuarioAuxiliar esqueletoAuxiliar = new EsqueletoUsuarioAuxiliar(kinect);

                    if (configuracaoMaoDireita.DesenhoAtivo)
                    {
                        esqueletoAuxiliar.InteracaoDesenhar(esqueletoUsuario.Joints[JointType.HandRight], canvasDesenho, configuracaoMaoDireita);
                    }

                    if (configuracaoMaoEsquerda.DesenhoAtivo)
                    {
                        esqueletoAuxiliar.InteracaoDesenhar(esqueletoUsuario.Joints[JointType.HandLeft], canvasDesenho, configuracaoMaoEsquerda);
                    }
                }
                else
                {
                    foreach (IRastreador rastreador in rastreadores)
                    {
                        rastreador.Rastrear(esqueletoUsuario);
                    }

                    if (btnEsqueletoUsuario.IsChecked)
                    {
                        quadro.DesenharEsqueletoUsuario(kinect, canvasKinect);
                    }
                }
            }
        }