Middleware :
No proximity bugs anymore.
The skeleton disappear if a tracked person is too close or not tracked anymore.
Processing :
There are no laggs anymore when an user stay too long moving his hands and drawing
tons of ellipses. (TUIO Cursors are not taken by their vectors, only the last position
of the cursors are caught to be drawn).
<!--
Projet : TraKERS
Module : MIDDLEWARE
Sous-Module : Debug
Classe : DebugWindow
Auteur : alexandre.bastien@iri.centrepompidou.fr
Fonctionnalités : Affiche le rendu visuel du Middleware : Le squelette, afficher la détection des mains,
des gestures et la distance de l'utilisateur.
-->
<Window x:Class="Trakers.Debug.DebugWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DebugWindow" Height="480" Width="640" Closed="Window_Closed" Loaded="Window_Loaded">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="85" />
</Grid.ColumnDefinitions>
<!-- Ceci est le rendu visuel qui se met à jour lorsque la Kinect est allumée. -->
<Canvas Name="DebugCanvas" Background="Transparent">
<Image Name="DebugImage" Opacity="1" Grid.Row="0" Grid.Column="0"/>
</Canvas>
<Grid Grid.Row="0" Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="40" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="LightGray">
<!-- Menu de la fenêtre de debug. -->
<Menu Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Height="20" Width="50" Background="LightGray" Foreground="White">
<MenuItem Header="Fichier" Background="Black">
<MenuItem Header="Paramètres" Background="White" Foreground="Black" Click="Parameters_Click" />
<MenuItem Header="Quitter" Background="White" Foreground="Black" Click="Quit_Click" />
</MenuItem>
</Menu>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<!-- Cette partie permet d'afficher les mains se trouvant dans le champ de recherche. -->
<Label Name="LeftHand" Grid.Column="0" Background="DarkGray" FontSize="14" FontWeight="Bold" />
<Label Name="RightHand" Grid.Column="1" Background="DarkGray" FontSize="14" FontWeight="Bold" />
</Grid>
<!-- Cette partie permet d'afficher les erreurs survenant dans le programme. -->
<Label Name="ExceptionLbl" Height="30" VerticalAlignment="Bottom" Grid.Row="2" Content="" HorizontalContentAlignment="Center" />
</Grid>
<!-- Ce bouton permet d'allumer/éteindre la Kinect. -->
<Button Name="Switch" Content="OFF" Grid.Row="1" Grid.Column="0" Width="30" Click="Switch_Click" />
<!-- Ce panneau affiche la distance actuelle de l'utilisateur à la Kinect et indique une couleur pour chaque mètre. -->
<!-- 0-1 m : Rouge. 1-2 : Orange. 2-3 : Jaune. 3-4 : Blanc. -->
<StackPanel Grid.Row="0" Grid.Column="1" Name="List">
<Label Name="DistanceLbl" Content="Distance :" />
<Label Name="D1" Content="0 < D < 1" />
<Rectangle Name="R1" Height="70" Fill="DarkGray" />
<Label Name="D2" Content="1 < D < 2" />
<Rectangle Name="R2" Height="70" Fill="DarkGray" />
<Label Name="D3" Content="2 < D < 3" />
<Rectangle Name="R3" Height="70" Fill="DarkGray" />
<Label Name="D4" Content="3 < D < 4" />
<Rectangle Name="R4" Height="70" Fill="DarkGray" />
</StackPanel>
</Grid>
</Window>