# HG changeset patch # User bastiena # Date 1343317475 -7200 # Node ID 7d0ae2f385e7de384a7c9457332b1e443f728d66 # Parent afd60399a7b59d4dde55f2c2cec786d8c93919dd Middleware: interface improved diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/Debug/DebugWindow.xaml --- a/middleware/Debug/DebugWindow.xaml Thu Jul 26 14:34:02 2012 +0200 +++ b/middleware/Debug/DebugWindow.xaml Thu Jul 26 17:44:35 2012 +0200 @@ -21,7 +21,7 @@ des gestures et la distance de l'utilisateur. --> - + @@ -38,11 +38,11 @@ - + - + @@ -135,8 +135,8 @@ - diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/Debug/DebugWindow.xaml.cs --- a/middleware/Debug/DebugWindow.xaml.cs Thu Jul 26 14:34:02 2012 +0200 +++ b/middleware/Debug/DebugWindow.xaml.cs Thu Jul 26 17:44:35 2012 +0200 @@ -85,15 +85,26 @@ //On charge les éléments relatifs au projet. if (projectName.Equals("TraKERS")) { + MiddlewareDebugWindow.Title = "TraKERS - Middleware"; configPath = ".\\TraKERS - config.txt"; loadTraKERSMenu(); } else if (projectName.Equals("BBM")) { + MiddlewareDebugWindow.Title = "Browse by Motion - Middleware"; configPath = ".\\BBM - config.txt"; loadBBMMenu(); } + //On initialise les images des mains. + Bitmap rightHandBitmap = getImage(imgLocation + "\\right_hand_off.png"), leftHandBitmap = getImage(imgLocation + "\\left_hand_off.png"); + LeftHand.Source = CreateBitmapSourceFromBitmap(leftHandBitmap); + RightHand.Source = CreateBitmapSourceFromBitmap(rightHandBitmap); + //On initialise les images de proximité. + Bitmap userBitmap = getImage(imgLocation + "\\user.png"), kinectBitmap = getImage(imgLocation + "\\kinect.png"); + UserImage.Source = CreateBitmapSourceFromBitmap(userBitmap); + KinectImage.Source = CreateBitmapSourceFromBitmap(kinectBitmap); + //On tente de charger les paramètres du fichier params.ini. //Si on n'y arrive pas, on affiche une erreur et on charge les paramètres par défaut. if (!loadParameters()) @@ -199,6 +210,7 @@ //On cache la partie du menu des readme et doc de BBM. DocumentationFrontIDILLMenu.Visibility = Visibility.Collapsed; + FrontIDILLMenu.Visibility = Visibility.Collapsed; //Readme et doc de TraKERS. ReadmeFrontProcessingMenu.Header = rm.GetString("menuReadmeFrontProcessing"); @@ -348,16 +360,9 @@ { //Il affiche ON (pour allumer la kinect). Switch.Content = "ON"; - //On remet à zéro tous les éléments du retour visuel. - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - DistanceLbl.Content = "Distance :"; - LeftHand.Background = System.Windows.Media.Brushes.DarkGray; - LeftHand.Content = ""; - RightHand.Background = System.Windows.Media.Brushes.DarkGray; - RightHand.Content = ""; + Bitmap rightHandBitmap = getImage(imgLocation + "\\right_hand_off.png"), leftHandBitmap = getImage(imgLocation + "\\left_hand_off.png"); + LeftHand.Source = CreateBitmapSourceFromBitmap(leftHandBitmap); + RightHand.Source = CreateBitmapSourceFromBitmap(rightHandBitmap); DebugCanvas.Children.RemoveRange(1, DebugCanvas.Children.Count - 1); } } @@ -414,176 +419,7 @@ */ public void showDistance(float proximity) { - DistanceLbl.Content = "Proximity : " + proximity + "%"; - - if (proximity == 0) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.DarkGray; - R8.Fill = System.Windows.Media.Brushes.DarkGray; - R9.Fill = System.Windows.Media.Brushes.DarkGray; - R10.Fill = System.Windows.Media.Brushes.DarkGray; - } - else if (proximity > 0 && proximity < 10) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.DarkGray; - R8.Fill = System.Windows.Media.Brushes.DarkGray; - R9.Fill = System.Windows.Media.Brushes.DarkGray; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 10 && proximity < 20) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.DarkGray; - R8.Fill = System.Windows.Media.Brushes.DarkGray; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 20 && proximity < 30) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.DarkGray; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 30 && proximity < 40) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 40 && proximity < 50) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 50 && proximity < 60) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 60 && proximity < 70) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.Yellow; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 70 && proximity < 80) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.Yellow; - R4.Fill = System.Windows.Media.Brushes.Yellow; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 80 && proximity < 90) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.Yellow; - R3.Fill = System.Windows.Media.Brushes.Yellow; - R4.Fill = System.Windows.Media.Brushes.Yellow; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity > 90 && proximity < 100) - { - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.Yellow; - R2.Fill = System.Windows.Media.Brushes.Yellow; - R3.Fill = System.Windows.Media.Brushes.Yellow; - R4.Fill = System.Windows.Media.Brushes.Yellow; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } - else if (proximity == 100) - { - R0.Fill = System.Windows.Media.Brushes.Green; - R1.Fill = System.Windows.Media.Brushes.Yellow; - R2.Fill = System.Windows.Media.Brushes.Yellow; - R3.Fill = System.Windows.Media.Brushes.Yellow; - R4.Fill = System.Windows.Media.Brushes.Yellow; - R5.Fill = System.Windows.Media.Brushes.Orange; - R6.Fill = System.Windows.Media.Brushes.Orange; - R7.Fill = System.Windows.Media.Brushes.Orange; - R8.Fill = System.Windows.Media.Brushes.Red; - R9.Fill = System.Windows.Media.Brushes.Red; - R10.Fill = System.Windows.Media.Brushes.Red; - } + UserImage.Margin = new System.Windows.Thickness(552, 350 - 350 / 100 * proximity, 0, 0); } /* @@ -591,10 +427,14 @@ */ public void showRightHandRect(bool show) { + Bitmap bitmap = null; + if (show) - RightHand.Background = System.Windows.Media.Brushes.Blue; + bitmap = getImage(imgLocation + "\\right_hand_on.png"); else - RightHand.Background = System.Windows.Media.Brushes.DarkGray; + bitmap = getImage(imgLocation + "\\right_hand_off.png"); + + RightHand.Source = CreateBitmapSourceFromBitmap(bitmap); } /* @@ -602,10 +442,14 @@ */ public void showLeftHandRect(bool show) { + Bitmap bitmap = null; + if (show) - LeftHand.Background = System.Windows.Media.Brushes.Blue; + bitmap = getImage(imgLocation + "\\left_hand_on.png"); else - LeftHand.Background = System.Windows.Media.Brushes.DarkGray; + bitmap = getImage(imgLocation + "\\left_hand_off.png"); + + LeftHand.Source = CreateBitmapSourceFromBitmap(bitmap); } /* @@ -703,18 +547,6 @@ //On vide le canvas mais en gardant l'image. if(DebugCanvas.Children.Count > 1) DebugCanvas.Children.RemoveRange(1, DebugCanvas.Children.Count - 1); - //On colore en gris tous les indicateurs. - R0.Fill = System.Windows.Media.Brushes.DarkGray; - R1.Fill = System.Windows.Media.Brushes.DarkGray; - R2.Fill = System.Windows.Media.Brushes.DarkGray; - R3.Fill = System.Windows.Media.Brushes.DarkGray; - R4.Fill = System.Windows.Media.Brushes.DarkGray; - R5.Fill = System.Windows.Media.Brushes.DarkGray; - R6.Fill = System.Windows.Media.Brushes.DarkGray; - R7.Fill = System.Windows.Media.Brushes.DarkGray; - R8.Fill = System.Windows.Media.Brushes.DarkGray; - R9.Fill = System.Windows.Media.Brushes.DarkGray; - R10.Fill = System.Windows.Media.Brushes.DarkGray; } /* @@ -722,7 +554,7 @@ */ public void showLeftHandCoord(String coord) { - LeftHand.Content = coord; + //LeftHand.Content = coord; } /* @@ -730,7 +562,7 @@ */ public void showRightHandCoord(String coord) { - RightHand.Content = coord; + //RightHand.Content = coord; } /* diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/cross.png Binary file middleware/src/bin/Release/Imgs/cross.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/kinect.png Binary file middleware/src/bin/Release/Imgs/kinect.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/left_hand_off.png Binary file middleware/src/bin/Release/Imgs/left_hand_off.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/left_hand_on.png Binary file middleware/src/bin/Release/Imgs/left_hand_on.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/right_hand_off.png Binary file middleware/src/bin/Release/Imgs/right_hand_off.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/right_hand_on.png Binary file middleware/src/bin/Release/Imgs/right_hand_on.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/user.png Binary file middleware/src/bin/Release/Imgs/user.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 middleware/src/bin/Release/Imgs/wave.png Binary file middleware/src/bin/Release/Imgs/wave.png has changed diff -r afd60399a7b5 -r 7d0ae2f385e7 readme - BBM Middleware.txt --- a/readme - BBM Middleware.txt Thu Jul 26 14:34:02 2012 +0200 +++ b/readme - BBM Middleware.txt Thu Jul 26 17:44:35 2012 +0200 @@ -38,9 +38,9 @@ Lorsque le bouton ON a été appuyé, il devient un bouton OFF, et permet d'éteindre la Kinect. Il est à noter que le fait de fermer la fenêtre éteint également le capteur de la Kinect, avant de quitter. (Plus de détails sur la Kinect : http://fr.wikipedia.org/wiki/Kinect). -Lorsque vous êtes détectés, le squelette de la personne la plus proche s'affiche. Les rectangles sur la droite indiquent la proximité de l'utilisateur par rapport à la Kinect, plus la barre est remplie de bas en haut, plus l'utilisateur est proche du point d'interaction maximal (point dans lequel il suffit de tendre les bras pour que les mains soient dans la zone de recherche). +Lorsque vous êtes détectés, le squelette de la personne la plus proche s'affiche. Le personnage sur les rectangles sur la droite indiquent la proximité de l'utilisateur par rapport à la Kinect, plus le personnage est proche de la Kinect, plus l'utilisateur est proche du point d'interaction maximal (point dans lequel il suffit de tendre les bras pour que les mains soient dans la zone de recherche). -Il existe une zone de détection des mains, située par défaut entre 1m et 1,5m de la Kinect mais configurable. En dehors de cette zone, les mains sont toujours détectées, mais aucun signal n'est envoyé via le serveur TUIO. Il y a deux rectangles en haut de cette fenêtre, permettant d'indiquer si une main est entrée dans ce champ (main gauche/droite dans le champ se traduit par la coloration du rectangle gauche/droit en bleu, et par l'affichage en pixels des coordonnées de la main (sauf pour la profondeur, qui est en mètres). +Il existe une zone de détection des mains, située par défaut entre 1m et 1,5m de la Kinect mais configurable. En dehors de cette zone, les mains sont toujours détectées, mais aucun signal n'est envoyé via le serveur TUIO. Il y a deux images de mains en haut de cette fenêtre, permettant d'indiquer si une main est entrée dans ce champ (main gauche/droite dans le champ se traduit par la coloration de la main gauche/droite en bleu. Il est possible de paramétrer des éléments du Middleware, comme la délimitation du champ pour les mains, le host et le port pour le serveur et l'intervalle de temps minimum qui sépare deux détections de gestes. diff -r afd60399a7b5 -r 7d0ae2f385e7 readme - TraKERS Middleware.txt --- a/readme - TraKERS Middleware.txt Thu Jul 26 14:34:02 2012 +0200 +++ b/readme - TraKERS Middleware.txt Thu Jul 26 17:44:35 2012 +0200 @@ -41,9 +41,9 @@ Lorsque le bouton ON a été appuyé, il devient un bouton OFF, et permet d'éteindre la Kinect. Il est à noter que le fait de fermer la fenêtre éteint également le capteur de la Kinect, avant de quitter. (Plus de détails sur la Kinect : http://fr.wikipedia.org/wiki/Kinect). -Lorsque vous êtes détectés, le squelette de la personne la plus proche s'affiche. Les rectangles sur la droite indiquent la proximité de l'utilisateur par rapport à la Kinect, plus la barre est remplie de bas en haut, plus l'utilisateur est proche du point d'interaction maximal (point dans lequel il suffit de tendre les bras pour que les mains soient dans la zone de recherche). +Lorsque vous êtes détectés, le squelette de la personne la plus proche s'affiche. Le personnage sur les rectangles sur la droite indiquent la proximité de l'utilisateur par rapport à la Kinect, plus le personnage est proche de la Kinect, plus l'utilisateur est proche du point d'interaction maximal (point dans lequel il suffit de tendre les bras pour que les mains soient dans la zone de recherche). -Il existe une zone de détection des mains, située par défaut entre 1m et 1,5m de la Kinect mais configurable. En dehors de cette zone, les mains sont toujours détectées, mais aucun signal n'est envoyé via le serveur TUIO. Il y a deux rectangles en haut de cette fenêtre, permettant d'indiquer si une main est entrée dans ce champ (main gauche/droite dans le champ se traduit par la coloration du rectangle gauche/droit en bleu, et par l'affichage en pixels des coordonnées de la main (sauf pour la profondeur, qui est en mètres). +Il existe une zone de détection des mains, située par défaut entre 1m et 1,5m de la Kinect mais configurable. En dehors de cette zone, les mains sont toujours détectées, mais aucun signal n'est envoyé via le serveur TUIO. Il y a deux images de mains en haut de cette fenêtre, permettant d'indiquer si une main est entrée dans ce champ (main gauche/droite dans le champ se traduit par la coloration de la main gauche/droite en bleu. Il est possible de paramétrer des éléments du Middleware, comme la délimitation du champ pour les mains, le host et le port pour le serveur et l'intervalle de temps minimum qui sépare deux détections de gestes.