Middleware :
parameters propagation added
from debug to MainModule and then into everything that needs it
--- a/.hgignore Mon Apr 02 16:30:56 2012 +0200
+++ b/.hgignore Wed Apr 04 10:51:21 2012 +0200
@@ -24,3 +24,6 @@
front_processing/src/Interaction_examples/*/application.windows/lib/*
front_processing/src/Interaction_examples/*/application.windows/*
middleware/dist/dotNetFx40_Client_x86_x64.exe
+middleware/lib/Tracking.dll
+middleware/lib/Debug.dll
+middleware/lib/Communication.dll
--- a/middleware/Communication/Server.cs Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Communication/Server.cs Wed Apr 04 10:51:21 2012 +0200
@@ -238,5 +238,18 @@
}
}
}
+
+ /*
+ * Getters et Setters
+ */
+ public void setTimerElapsing(int _timerElapsing)
+ {
+ timerElapsing = _timerElapsing;
+ }
+
+ public int getTimerElapsing()
+ {
+ return timerElapsing;
+ }
}
}
--- a/middleware/Debug/DebugParameters.xaml Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugParameters.xaml Wed Apr 04 10:51:21 2012 +0200
@@ -23,7 +23,7 @@
L'intervalle de temps entre le début et la fin du timer pour la détection des gestures.
-->
-<Window x:Class="Trakers.Debug.DebugParameters" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TraKERS - Paramètres" Height="380" Width="300">
+<Window x:Class="Trakers.Debug.DebugParameters" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TraKERS - Paramètres" Height="380" Width="300" Closed="Window_Closed">
<Grid>
<StackPanel>
<TabControl>
@@ -125,7 +125,7 @@
</TabItem>
</TabControl>
- <Button Content="Modifier" Click="Button_Click" />
+ <Button Name="ModButton" Content="Modifier" Click="Button_Click" />
<!-- Affichage des problèmes éventuels lors de la saisie des paramètres. -->
<Label Content="" Name="ExceptionInParametersLbl" Height="28" />
</StackPanel>
--- a/middleware/Debug/DebugParameters.xaml.cs Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugParameters.xaml.cs Wed Apr 04 10:51:21 2012 +0200
@@ -23,6 +23,7 @@
using System.Reflection;
using System.Resources;
using System.Windows;
+using System.Windows.Controls;
namespace Trakers.Debug
{
@@ -128,5 +129,26 @@
{
setParameters();
}
+
+ /*
+ * Getters et Setters.
+ */
+ public void setModButton(Button button)
+ {
+ ModButton = button;
+ }
+
+ public Button getModButton()
+ {
+ return ModButton;
+ }
+
+ /*
+ * S'effectue lorsque la fenêtre se ferme.
+ */
+ private void Window_Closed(object sender, EventArgs e)
+ {
+
+ }
}
}
--- a/middleware/Debug/DebugWindow.xaml Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugWindow.xaml Wed Apr 04 10:51:21 2012 +0200
@@ -49,7 +49,7 @@
<!-- 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 Name="ParamMenu" Header="Paramètres" Background="White" Foreground="Black" Click="Parameters_Click" />
<MenuItem Name="QuitMenu" Header="Quitter" Background="White" Foreground="Black" />
</MenuItem>
</Menu>
--- a/middleware/Debug/DebugWindow.xaml.cs Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugWindow.xaml.cs Wed Apr 04 10:51:21 2012 +0200
@@ -69,6 +69,8 @@
private bool closing;
//Indique si l'image doit être raffraichie.
private Boolean refreshImage;
+ //Fenêtre de paramètres
+ private DebugParameters param;
/*
* Constructeur : Affiche la fenêtre de debug en lui passant en paramètre une instanciation de la
@@ -100,6 +102,9 @@
directionChangeTresholdZ = 0.01f;
}
+ //On charge la fenêtre de paramètres.
+ param = new DebugParameters(this);
+
//kinectMain = main;
on = true;
closing = false;
@@ -575,8 +580,6 @@
*/
private void Parameters_Click(object sender, RoutedEventArgs e)
{
- DebugParameters param = new DebugParameters(this);
-
try
{
param.ShowDialog();
@@ -807,6 +810,14 @@
{
QuitMenu = quitMenu;
}
+ public void setParametersWindow(DebugParameters parameters)
+ {
+ param = parameters;
+ }
+ public void setParamMenu(MenuItem parameters)
+ {
+ ParamMenu = parameters;
+ }
public float getMinDistHands()
{
@@ -868,5 +879,13 @@
{
return QuitMenu;
}
+ public DebugParameters getParametersWindow()
+ {
+ return param;
+ }
+ public MenuItem getParamMenu()
+ {
+ return ParamMenu;
+ }
}
}
--- a/middleware/dist/TraKERS.iss Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/dist/TraKERS.iss Wed Apr 04 10:51:21 2012 +0200
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "TraKERS"
-#define MyAppVersion "1.1"
+#define MyAppVersion "1.3"
#define MyAppPublisher "IRI"
[Setup]
@@ -34,21 +34,23 @@
Source: "C:\Users\bastiena\Documents\trakers\middleware\dist\dotNetFx40_Client_x86_x64.exe"; DestDir: "{app}\Dependancies\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\lib\*"; DestDir: "{app}\Middleware\lib\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Communication\*"; DestDir: "{app}\Middleware\src\Communication\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Debug\*"; DestDir: "{app}\Middleware\src\Debug\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Properties\*"; DestDir: "{app}\Middleware\src\Properties\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Tracking\*"; DestDir: "{app}\Middleware\src\Tracking\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\App.config"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
+
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\*"; DestDir: "{app}\Middleware\Debug\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Tracking\*"; DestDir: "{app}\Middleware\Tracking\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\bastiena\Documents\trakers\middleware\src\MainClass.cs"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Trakers.csproj"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\src\MainModule.csproj"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\Trakers.sln"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Bespoke.Common.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Bespoke.Common.Osc.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Coding4Fun.Kinect.Wpf.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\TuioServer.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Trakers.exe.Config"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Trakers.exe"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\MainModule.exe"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll.config"; DestDir: "{app}\Middleware\Debug\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Communication\bin\Release\Communication.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Tracking\bin\Release\Tracking.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll.config"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\bastiena\Documents\trakers\front_processing\doc\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\bastiena\Documents\trakers\front_processing\src\*"; DestDir: "{app}\Front Processing\src\"; Flags: ignoreversion recursesubdirs createallsubdirs
@@ -56,7 +58,7 @@
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
-Name: "{group}\{#MyAppName}\Middleware"; Filename: "{app}\Middleware\Trakers.exe"
+Name: "{group}\{#MyAppName}\Middleware"; Filename: "{app}\Middleware\MainModule.exe"
Name: "{group}\{#MyAppName}\Hand Pointing"; Filename: "{app}\Front Processing\src\Trakers\application.windows\Trakers.exe"
Name: "{group}\{#MyAppName}\Gesture Recognition"; Filename: "{app}\Front Processing\src\Trakers_gestures\application.windows\Trakers_gestures.exe"
Name: "{group}\{#MyAppName}\Fluid Manipulation"; Filename: "{app}\Front Processing\src\Fluid_manipulation\application.windows\Fluid_manipulation.exe"
@@ -65,7 +67,7 @@
Name: "{group}\{#MyAppName}\Hand Signal"; Filename: "{app}\Front Processing\src\Interaction_examples\Hand_signal\application.windows\Hand_signal.exe"
Name: "{group}\{#MyAppName}\Hands 1D"; Filename: "{app}\Front Processing\src\Interaction_examples\Hands_1D\application.windows\Hands_1D.exe"
Name: "{group}\{#MyAppName}\Hands 2D"; Filename: "{app}\Front Processing\src\Interaction_examples\Hands_2D\application.windows\Hands_2D.exe"
-Name: "{commondesktop}\TraKERS - Middleware"; Filename: "{app}\Middleware\Trakers.exe"
+Name: "{commondesktop}\TraKERS - Middleware"; Filename: "{app}\Middleware\MainModule.exe"
Name: "{commondesktop}\TraKERS - Hand Pointing"; Filename: "{app}\Front Processing\src\Trakers\application.windows\Trakers.exe"
Name: "{commondesktop}\TraKERS - Gesture Recognition"; Filename: "{app}\Front Processing\src\Trakers_gestures\application.windows\Trakers_gestures.exe"
Name: "{commondesktop}\TraKERS - Fluid Manipulation"; Filename: "{app}\Front Processing\src\Fluid_manipulation\application.windows\Fluid_manipulation.exe"
--- a/middleware/src/MainModule/KinectMain.cs Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/src/MainModule/KinectMain.cs Wed Apr 04 10:51:21 2012 +0200
@@ -55,6 +55,8 @@
{
//Fenêtre de debug.
private DebugWindow debug;
+ //Fenêtre de paramètres.
+ private DebugParameters parameters;
//Squelettes (Il y en a 6 par défaut).
private Skeleton[] skeletons;
//Caméra infrarouge (sensor) de la Kinect.
@@ -106,12 +108,25 @@
//On crée le détecteur de proximité.
userPositionDetector = new UserPositionDetector(debug.getMinDist(), debug.getMaxDist(), debug.getZeroPoint(), debug.getMinDistHands(), debug.getMaxDistHands());
+ //On connecte le serveur à l'adresse locale sur le port 80.
+ try
+ {
+ server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
+ //On crée le gestionnaire de modes.
+ modeManagement = new ModeManagement(server, debug, this);
+ }
+ catch (Exception)
+ {
+ debug.ShowException("serverCantStart");
+ }
+
//On écoute l'événement de clic sur le bouton on/off du debug.
//Car on lancera l'intitialisation/fermeture de la kinect.
debug.getSwitch().Click += new RoutedEventHandler(Switch_ClickInKinectMain);
debug.Loaded += new RoutedEventHandler(Window_LoadedInKinectMain);
debug.Closed += new EventHandler(Window_CloseInKinectMain);
debug.getQuitMenu().Click += new RoutedEventHandler(Quit_ClickInKinectMain);
+ debug.getParametersWindow().getModButton().Click += new RoutedEventHandler(updateParameters);
//On affiche la fenêtre de debug.
try
@@ -123,6 +138,15 @@
}
/*
+ * Envoi les paramètres mis à jour dans les différents modules.
+ */
+ public void updateParameters(object sender, RoutedEventArgs e)
+ {
+ userPositionDetector.setParams(debug.getMinDist(), debug.getMaxDist(), debug.getMinDistHands(), debug.getMaxDistHands(), debug.getZeroPoint());
+ server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
+ }
+
+ /*
* Initialisation du sensor de la Kinect.
*/
public void KinectInitialization()
@@ -191,18 +215,7 @@
UserPositionListener userPositionListener = new UserPositionListener();
UserPositionEvent += new UserPositionHandler(userPositionListener.showAndSend);
- //On connecte le serveur à l'adresse locale sur le port 80.
- try
- {
- server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
- //On crée le gestionnaire de modes.
- modeManagement = new ModeManagement(server, debug, this);
- modeManagement.DetectProximityBasedModes(0);
- }
- catch (Exception)
- {
- debug.ShowException("serverCantStart");
- }
+ modeManagement.DetectProximityBasedModes(0);
}
/*