public Shape InteracaoDesenhar(Joint pArticulacao, Canvas pCanvasParaDesenhar, ConfiguracaoDesenho pConfiguracao)
        {

            int larguraDesenho = 5;
            Shape objetoArticulacao;

            if (pConfiguracao.Forma == FormaDesenho.Elipse)
                objetoArticulacao = new Ellipse();
            else //if (configuracao.Forma == FormaDesenho.Retangulo)
                objetoArticulacao = new Rectangle();

            ConfigurarComponenteVisualArticulacao(
                objetoArticulacao,
                pConfiguracao.GetTamanho(),
                larguraDesenho,
                pConfiguracao.Cor,
                false,
                false);

            objetoArticulacao.Fill = pConfiguracao.Cor;

            PosicionarDesenho(
                pArticulacao,
                pCanvasParaDesenhar,
                objetoArticulacao);


            return objetoArticulacao;


            /*
            int larguraDesenho = 5;
            Shape objetoArticulacao;

            if (configuracao.Forma == FormaDesenho.Elipse)
                objetoArticulacao = new Ellipse();
            else
                objetoArticulacao = new Rectangle();

            ConfigurarComponenteVisualArticulacao(
                objetoArticulacao,
                configuracao.Tamanho,
                larguraDesenho,
                configuracao.Cor);

            //objetoArticulacao.Fill = configuracao.Cor;

            PosicionarDesenho(
                articulacao,
                canvasParaDesenhar,
                objetoArticulacao);

            return objetoArticulacao;
             * 
             * */

        }
 public void InteracaoDesenharLinhaEntreDuasMaos(Skeleton pEsqueletoUsuario,
     EsqueletoUsuarioAuxiliar pEsqueletoAuxiliar, Canvas pCanvasDesenho,
     ConfiguracaoDesenho pConfiguracaoMaoEsquerda, ConfiguracaoDesenho pConfiguracaoMaoDireita)
 {
     pEsqueletoAuxiliar.DesenharOsso(
                 pEsqueletoUsuario.Joints[JointType.HandLeft],
                 pEsqueletoUsuario.Joints[JointType.HandRight],
                 pCanvasDesenho);
 }
        public void InteracaoDesenharLinhaEntreDoisPontosMao(Skeleton pEsqueletoUsuario,
            EsqueletoUsuarioAuxiliar pEsqueletoAuxiliar, Canvas pCanvasDesenho,
            ConfiguracaoDesenho pConfiguracaoMao)
        {
            if (pConfiguracaoMao.SetouXFinalLinha == true
                && pConfiguracaoMao.SetouXInicialLinha == true
                && pConfiguracaoMao.SetouYFinalLinha == true
                && pConfiguracaoMao.SetouYInicialLinha == true)
            { //configurou tudo > desenha a linha
                DesenharLinhaEntreDoisPontos(pConfiguracaoMao, pCanvasDesenho);
                //return true;
            }
            else if (pConfiguracaoMao.SetouXFinalLinha == false
                && pConfiguracaoMao.SetouXInicialLinha == true
                && pConfiguracaoMao.SetouYFinalLinha == false
                && pConfiguracaoMao.SetouYInicialLinha == true)
            {//configurou o inicial só > desenha uma bola inicial
                int larguraDesenho = 10;
                Shape objetoArticulacao;

                objetoArticulacao = new Ellipse();

                ConfigurarComponenteVisualArticulacao(
                    objetoArticulacao,
                    pConfiguracaoMao.GetTamanho(),
                    larguraDesenho,
                    pConfiguracaoMao.Cor,
                    false,
                    false);

                objetoArticulacao.Fill = pConfiguracaoMao.Cor;

                PosicionarDesenhoSoPelaPosicao(
                    pConfiguracaoMao.PosXInicialLinha,
                    pConfiguracaoMao.PosYInicialLinha,
                    pCanvasDesenho,
                    objetoArticulacao);

            }
        }
        public void DesenharLinhaEntreDoisPontos(ConfiguracaoDesenho pCofiguracaoDesenho, Canvas pCanvasParaDesenhar)
        {
            int lLarguraDesenho = pCofiguracaoDesenho.GetTamanho();

            Brush lCorDesenho = pCofiguracaoDesenho.Cor;

            Line lObjetoOsso = CriarComponenteVisualOsso(
                lLarguraDesenho,
                lCorDesenho,
                pCofiguracaoDesenho.PosXInicialLinha,
                pCofiguracaoDesenho.PosYInicialLinha,
                pCofiguracaoDesenho.PosXFinalLinha,
                pCofiguracaoDesenho.PosYFinalLinha);

            if (Math.Max(lObjetoOsso.X1, lObjetoOsso.X2) < pCanvasParaDesenhar.ActualWidth
                && Math.Min(lObjetoOsso.X1, lObjetoOsso.X2) > 0
                && Math.Max(lObjetoOsso.Y1, lObjetoOsso.Y2) < pCanvasParaDesenhar.ActualHeight
                && Math.Min(lObjetoOsso.Y1, lObjetoOsso.Y2) > 0)
                pCanvasParaDesenhar.Children.Add(lObjetoOsso);
        }