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); } } }
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); } } }
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); } } }